It's in svn so it's ok



  • We have a third party tool that creates some files. These are then used to generate interim files which are then converted to yet another set of interim files which are then converted into Java source.

    I asked the person responsible to make a required change and do the chain of builds. He did.

    I got my file with the requested changes.

    For reasons beyond my control, the whole thing had to be reverted, so I asked the guy to roll back the changes in the original tool, and kick off the build chain.

    After much pushback, I realized that the reason he can't roll back the changes in the original tool is because he made the changes in the second level interim generated files and committed them to svn; there was no change in the source to revert.

    When queried why he'd change generated files instead of the source, he explained that the changes were in svn so it's ok. When I explained that the next build would wipe out the changes, he explained that they were still in svn, and could be manually retrieved. Erm, by the automated build process? By hand for each and every build going forward?

    Thankfully this developer is leaving next week. Unfortunately, his buddy, best friend and intellectual peer (who is taking over his duties) is not.

    Ya gotta love offshore developers.

     



  • We fixed out offshore problem, we gave them green cards and onshored them.

    Yeah, that fixed it.


  • Discourse touched me in a no-no place

    @snoofle said:

    We have a third party tool that creates some files. These are then used to
    generate interim files which are then converted to yet another set of interim
    files which are then converted into Java source.

    @snoofle said:
    After much pushback, I realized that the reason he can't roll back the changes
    in the original tool is because he made the changes in the second level interim
    generated files and committed them to svn;

    Possibly a very silly question, but before this particular change request, were any of the interim files checked into SVN?



  • @PJH said:

    Possibly a very silly question, but before this particular change request, were any of the interim files checked into SVN?
     

    No. We checked in the original source, the output java source and the scripts. This gave us full reproducability. The output Java was checked in because of an auditor militantly enforcing a policy that all Java code must be in source control. Jar and interim files they don't care about.

    This guy decided that since he didn't make any changes to the interim files (besides the one I requested, which should have been made to thr input source), that they were stable and should be in source control. The fact that the build, when run top to bottom, pulls and converts the source (overwriting everything inbetween) was beyond this guy.

     


  • Discourse touched me in a no-no place

    @snoofle said:

    @PJH said:

    Possibly a very silly question, but before this
    particular change request, were any of the interim files checked into
    SVN?
     

    No.

    Ah. So it isn't -quite- that bad. Yet.
    @snoofle said:
    The output Java was checked in because of an auditor militantly enforcing a policy that all Java code must be in source control.
    Not totally unreasonable...

    If they're small. The output of our build isn't actually put into SVN - putting 512MB and 2048MB binaries into SVN (even after gzip) wouldn't sorta work, but we have tags for the relevant builds if they need to be the same source code, and for where it's really necessary (binary equal,) we (or rather our over-nervous customers) use escrow (see my previous question on here about it) where the responsibility for a 4GB VirtualBox image (yes, really - it'll get larger) *really* isn't our storage problem after we've submitted it to the agent...


  • @snoofle said:

    Ya gotta love offshore developers.
     

    Sometimes I think whether the "de" suffix was supposed to have similar meaning as in "de-valuation", "de-construction", "de-gradation" and similar...


  • Discourse touched me in a no-no place

    @SEMI-HYBRID code said:

    suffix
    Prefix, Shirley?



  • All of us can't be velopers.



  • @PJH said:

    @SEMI-HYBRID code said:
    suffix
    Prefix, Shirley?
     

    Shirlopers?



  • @PJH said:

    @SEMI-HYBRID code said:
    suffix
    Prefix, Shirley?
     

    Damn, I'm a deposter



  •  Maybe I'm missing something, but if the initial files from which the interim files are built are in svn and were not changed, then simply doing a build would eradicate the changes in the interim file, would it not?


  • Discourse touched me in a no-no place

    @jes said:

    Maybe I'm missing something,
    You are:@snoofle said:
    When I explained that the next build would wipe out the changes, he explained that they were still in svn, and could be manually retrieved.



  • @snoofle said:

    We have a third party tool that creates some files. These are then used to generate interim files which are then converted to yet another set of interim files which are then converted into Java source.

    There's your real WTF. Why are you using a language that requires a meta-language just to use?



  • @snoofle said:

    ...he made the changes in the second level interim generated files and committed them to svn; there was no change in the source to revert.

    When queried why he'd change generated files instead of the source, he explained that the changes were in svn so it's ok. When I explained that the next build would wipe out the changes, he explained that they were still in svn, and could be manually retrieved...

    You have to admire the developer's confidence that no future changes to the original source will be necessary. When he fixes something, it's fixed!

    Talking with the developer or his successor is probably pointless; are there any adults who can be brought into the conversation?



  • @PJH said:

    @SEMI-HYBRID code said:
    suffix
    Prefix, Shirley?

    Was it obvious what he meant? Mind-numbingly obvious? Then why the fuck are you posting this you pedantic dickweed?



  • @blakeyrat said:

    Then why the fuck are you posting this you pedantic dickweed?
     

    BECAUSE THE MEANING OF WORDS IS IMPORTANT, COWBOY.



  • @snoofle said:

    Ya gotta love offshore developers.
    But think of all the time and money the company has saved!

    Oh, that's right. They didn't save any time OR money... Maybe they need more of these by-the-pound, keyboard mashing code-monkeys?



  • @realmerlyn said:

    @snoofle said:

    We have a third party tool that creates some files. These are then used to generate interim files which are then converted to yet another set of interim files which are then converted into Java source.

    There's your real WTF. Why are you using a language that requires a meta-language just to use?

     

    ...as opposed to simply using Java, which is transformed by the compiler into JVM bytecode, which is transformed by the JITter into machine code, which is transformed by the CPU's front-end layer into microcode?

     



  • @Mason Wheeler said:

    ...as opposed to simply using Java, which is transformed by the compiler into JVM bytecode, which is transformed by the JITter into machine code, which is transformed by the CPU's front-end layer into microcode?

    ...which is then transformed by the GPU into YouTube cat videos?



  • @snoofle said:

    @PJH said:

    Possibly a very silly question, but before this particular change request, were any of the interim files checked into SVN?
     

    No. We checked in the original source, the output java source and the scripts. This gave us full reproducability. The output Java was checked in because of an auditor militantly enforcing a policy that all Java code must be in source control. Jar and interim files they don't care about.

     

    Are the output files also totally off-limits to manual modifications?  Both companies I've worked at have had an automatic code generation tool that generates java classes, which are then off-limits to manual modification.  I've always wondered what is the point of relying on developers to constantly remind new hires not to make manual modifications, instead of enforcing this by not providing .java files in the first place.  Prhaps instead of checking those .java files into svn, the build process ought to have one final step to run javac and then jar, so that the true output are .class files instead of .java files? 



  • @snoofle said:

    When queried why he'd change generated files instead of the source, he explained that the changes were in svn so it's ok. When I explained that the next build would wipe out the changes, he explained that they were still in svn, and could be manually retrieved.

    I deal with people like this all the time. I think development is so hard for them that anything that works is acceptable. They look at you like you have two heads when you complain about a working solution, because in their minds, there are only two states of code: broken and not-broken.

    My recent example is an application installer that was handed to another group. It turned out that the installer didn't work so well under the conditions the other group was using it, so one of our guys gave them a set of manual steps to run after the installer partially installed the application instead of fixing the installer. Aside from me and the poor guy in the other group, no one saw any problem with this.



  • @PJH said:

    @SEMI-HYBRID code said:
    suffix
    Prefix, Shirley?
    I always get Puffix and Srefix mixed up.



  • @Anonymouse said:

    @PJH said:

    @SEMI-HYBRID code said:
    suffix
    Prefix, Shirley?
    I always get Puffix and Srefix mixed up.


    I always get Puff Daddy and Skrillex mixed up.



  • @Someone You Know said:

    @Anonymouse said:

    @PJH said:

    @SEMI-HYBRID code said:
    suffix
    Prefix, Shirley?
    I always get Puffix and Srefix mixed up.

    I always get Puff Daddy and Skrillex mixed up.
     

     

    When it is music, i think it's called a mashup...

     



  • @Someone You Know said:

    I always get Puff Daddy and Skrillex mixed up.
     

    Shitty music all sounds alike, right?


  • Discourse touched me in a no-no place

    @pure said:

    @Someone You Know said:
    I always get Puff Daddy and Skrillex mixed up.

    When it is music, i think it's called a mashup...
    I'm clearly getting old. I recognise both those (piss) artists, yet I'm failing to see any connection to 'music.'



    Perhaps Sean and Sonny could get together and produce something people might buy? Something original perhaps?



  • @PJH said:

    Something original perhaps?
    Ugh. Original is sooo mainstream.


Log in to reply