Merge tools don't work



  • I had this job working for a seemingly really bright guy at a midsize successful company. The folks were nice. The environment was casual. Lots of free coffee, soda, and munchies. Periodic free lunches just because. The code seemed well laid out into a reasonable source tree. There were mandatory architecture and code reviews. Source code was not only in the repository, but branches were used for every project. Nothing migrated into the main trunk until it was part of an official release. Hopeless business analysts making up requirements after the develpoment work is done, but that's par for the course. Formal QA testing. All seemed fairly right.

    Until there was a merge problem when buying one of the branches back into the main. Someone had goofed and checked in some stuff in the wrong place, and the build on the main branch broke. Oops!

    The boss decided that from then on, the main would be pristine. Anyone who needed to modify any of the common libraries would make the changes in their branch and test. Then, they would email the affected files to the boss who would review, and forward to a designated person to MANUALLY type the changes in to the corresponding files on the main trunk.

    Why? Because merge tools don't work. By doing it manually, we can catch potential errors.

    It didn't take 1 day before something was missed during the manual retyping and the build was broken for two weeks.

    *sigh*



  • You hear this more often, that breaking the main branch is a sin or something. But really, that's why you have CI and QA and different stages of acceptance. 

    Something broke, we caught it before it shipped, Hurray, the system works.



  • Congratulations to those guys for introducing clerical error into programming WTF's.



  • Of course they don't work. That's why I use VSS as my source control system. Once you have exclusive locks then you don't need to merge files, and that whole class of problem goes out the window. Less problems with tools means more productivity!



  • @snoofle said:

    [...] Then, they would email the affected files to the boss who would review, and forward to a designated person to MANUALLY type the changes in to the corresponding files on the main trunk.

    Why? Because merge tools don't work. By doing it manually, we can catch potential errors. [...]

    What ?! Everyone knows that *email tools* don't work 100% accurately. Send someone with a hand-written copy of the file to the boss and then to the sad monkey typing shit for him. Only then will you be (quite) safe.



  • That boss should've been invited to take a long walk off a short cliff.



  • @toshir0 said:

    @snoofle said:

    [...] Then, they would email the affected files to the boss who would review, and forward to a designated person to MANUALLY type the changes in to the corresponding files on the main trunk.

    Why? Because merge tools don't work. By doing it manually, we can catch potential errors. [...]

    What ?! Everyone knows that *email tools* don't work 100% accurately. Send someone with a hand-written copy of the file to the boss and then to the sad monkey typing shit for him. Only then will you be (quite) safe.

    But then you can still err due to typos. You should place the handwritten copy on a wooden table, then take a snapshot, then scan the picture and apply some OCR to it. A good OCR suite should be able to apply spell checking to the text.



  • @OzPeter said:

    Of course they don't work. That's why I use VSS as my source control system. Once you have exclusive locks then you don't need to merge files, and that whole class of problem goes out the window. Less problems with tools means more productivity!

    +1 for that's-what-my-1992-era-coworker-thinks-except-for-real



  • @SuperJames74 said:

    @OzPeter said:
    Of course they don't work. That's why I use VSS as my source control system. Once you have exclusive locks then you don't need to merge files, and that whole class of problem goes out the window. Less problems with tools means more productivity!

    +1 for that's-what-my-1992-era-coworker-thinks-except-for-real
    But its a true statement. Regardless of what productivity gains non-exclusive locks bring (and VSS does do non-exclusive locks as well) if you have exclusive locks you don't need to merge. And there are whole classes of files where merging will not work.



  • @OzPeter said:

    @SuperJames74 said:
    @OzPeter said:
    Of course they don't work. That's why I use VSS as my source control system. Once you have exclusive locks then you don't need to merge files, and that whole class of problem goes out the window. Less problems with tools means more productivity!

    +1 for that's-what-my-1992-era-coworker-thinks-except-for-real
    But its a true statement. Regardless of what productivity gains non-exclusive locks bring (and VSS does do non-exclusive locks as well) if you have exclusive locks you don't need to merge. And there are whole classes of files where merging will not work.

    -1 for we-don't-version-our-jpegs



  • @OzPeter said:

    @SuperJames74 said:
    @OzPeter said:
    Of course they don't work. That's why I use VSS as my source control system. Once you have exclusive locks then you don't need to merge files, and that whole class of problem goes out the window. Less problems with tools means more productivity!

    +1 for that's-what-my-1992-era-coworker-thinks-except-for-real
    But its a true statement. Regardless of what productivity gains non-exclusive locks bring (and VSS does do non-exclusive locks as well) if you have exclusive locks you don't need to merge. And there are whole classes of files where merging will not work.

    TFS can do exclusive or shared locks as well, and you can choose which type you want when checking out (I default to shared, and occasionally need an exclusive lock). It also doesn't suck a bag of rocks, which is nice.



  • @db2 said:

    TFS can do exclusive or shared locks as well, and you can choose which type you want when checking out (I default to shared, and occasionally need an exclusive lock). It also doesn't suck a bag of rocks, which is nice.
     

    You my friend are delusional.   TFS is a steaming pile of shit, trying to be a version control, bug tracking software, auto building and deploying, IDE, email client, coffee maker all in one. We have two sides to our development team here:  the Java guys and the .NET guys.  For the .NET guys working in VS, TFS isn't all that bad.  It integrates fairly well inside of VS.  For the Java guys... well, it just sucks.  There are plugins that you can purchase for eclipse and intelliJ, but they really suck.

    Checking in: Say you want to check in a file, one file.  You right click and select  Check in Pending Changes...   Why the fuck does every single god damned file I have checked out show up in the list making me scroll to ensure the file(s) that I want are the only ones being checked in? 

    Ticket Numbers: Why is there not a system for the ticketing like JIRA?  Why can't I have my ticket numbers LM-100 for loss mitigation ticket number 100?  Why does it have to be this single ever growing number (already after two months over 60k)?  So 6 months from now I have to say "hey bob, did you look at ticket one million two hundred sixty four thousand four hundered and thrirty nine yet?"  

    Check out for edit: Why would I check something out that I do not intend to edit?  In CVS/SVN/everotherfuckingsystem you can view files without having to check them out.  When I check something out IT"S FOR EDIT.  But in TFS, you check things out casually and if you want to check something back in you have to first go and check it out for edit, then you can check in your changes.  

    Renaming files/moving files :

    Editing a file in Notepad/Wordpad/anyfuckingpad: TFS will not allow this unless the file is checked out for edit through TFS placing a lock on that file in the system so nobody else can check it out.  So if I have something "casually" checked out and I want to edit it (say a SQL file or whatever) in some other editer other than eclipse or VS, I have to go to the TFS explorer (or eclipse or VS) and check the file out for edit placing a lock on the file.  Nice.

    Local changes: Eclipse has a nice feature that allows you to look through your local history that you haven't checked in.  That way if you fucked something up you can go back to 3 hours ago and see what you've done.  The TFS plugin for eclipse completely erases this feature.  Now, while you say "that's not a problem with TFS" I don't give a fuck, I am a Java developer and I use eclipse.  So they get attributed to TFS.

    No Linking: If I had a ticket and said "hey bob, look at this ticket..." with JIRA I could link to it http://ourjira.com/ticket-100.  But in TFS you cannot hyperlink to specific tickets, which forces you to send the number and have that person browse for it.

    Bad UI:  The web interface for TFS does not work in FF or Chrome. Now, considering that this product is mostly for developers, and most developers that I know use FF, this is pretty stupid.

    Builds: We have a few older applications that perform ANT builds.  This causes problems because ANT changes a couple of files, including two jars, and in order to do this (as stated earlier) I have to have them all checked out for edit...

    Price: Not only does this steaming pile of shit cost a fuckton (metric of course) of money, now EVERY SINGLE PERSON that you want to be able to enter and view tickets has to purchase a $350 lisence.  We have over 60 developers, 40 PM and BM's and 200 other users that used JIRA.  Now we need about 200-300 lisences at $350 per person for a product that is no better than JIRA and SVN.



  • @amischiefr said:

    @db2 said:

    TFS can do exclusive or shared locks as well, and you can choose which type you want when checking out (I default to shared, and occasionally need an exclusive lock). It also doesn't suck a bag of rocks, which is nice.
     

    You my friend are delusional.   TFS is a steaming pile of shit, trying to be a version control, bug tracking software, auto building and deploying, IDE, email client, coffee maker all in one. We have two sides to our development team here:  the Java guys and the .NET guys.  For the .NET guys working in VS, TFS isn't all that bad.  It integrates fairly well inside of VS.  For the Java guys... well, it just sucks.  There are plugins that you can purchase for eclipse and intelliJ, but they really suck.

    Checking in: Say you want to check in a file, one file.  You right click and select  Check in Pending Changes...   Why the fuck does every single god damned file I have checked out show up in the list making me scroll to ensure the file(s) that I want are the only ones being checked in? 

    Ticket Numbers: Why is there not a system for the ticketing like JIRA?  Why can't I have my ticket numbers LM-100 for loss mitigation ticket number 100?  Why does it have to be this single ever growing number (already after two months over 60k)?  So 6 months from now I have to say "hey bob, did you look at ticket one million two hundred sixty four thousand four hundered and thrirty nine yet?"  

    Check out for edit: Why would I check something out that I do not intend to edit?  In CVS/SVN/everotherfuckingsystem you can view files without having to check them out.  When I check something out IT"S FOR EDIT.  But in TFS, you check things out casually and if you want to check something back in you have to first go and check it out for edit, then you can check in your changes.  

    Renaming files/moving files :

    Editing a file in Notepad/Wordpad/anyfuckingpad: TFS will not allow this unless the file is checked out for edit through TFS placing a lock on that file in the system so nobody else can check it out.  So if I have something "casually" checked out and I want to edit it (say a SQL file or whatever) in some other editer other than eclipse or VS, I have to go to the TFS explorer (or eclipse or VS) and check the file out for edit placing a lock on the file.  Nice.

    Local changes: Eclipse has a nice feature that allows you to look through your local history that you haven't checked in.  That way if you fucked something up you can go back to 3 hours ago and see what you've done.  The TFS plugin for eclipse completely erases this feature.  Now, while you say "that's not a problem with TFS" I don't give a fuck, I am a Java developer and I use eclipse.  So they get attributed to TFS.

    No Linking: If I had a ticket and said "hey bob, look at this ticket..." with JIRA I could link to it http://ourjira.com/ticket-100.  But in TFS you cannot hyperlink to specific tickets, which forces you to send the number and have that person browse for it.

    Bad UI:  The web interface for TFS does not work in FF or Chrome. Now, considering that this product is mostly for developers, and most developers that I know use FF, this is pretty stupid.

    Builds: We have a few older applications that perform ANT builds.  This causes problems because ANT changes a couple of files, including two jars, and in order to do this (as stated earlier) I have to have them all checked out for edit...

    Price: Not only does this steaming pile of shit cost a fuckton (metric of course) of money, now EVERY SINGLE PERSON that you want to be able to enter and view tickets has to purchase a $350 lisence.  We have over 60 developers, 40 PM and BM's and 200 other users that used JIRA.  Now we need about 200-300 lisences at $350 per person for a product that is no better than JIRA and SVN.

    Remember, most TFS users have used nothing but VSS before TFS.  I can't think of a better way to build a raving fan base than to market to VSS users.


  • @Jaime said:

    Remember, most TFS users have used nothing but VSS before TFS.  I can't think of a better way to build a raving fan base than to market to VSS users.
     

    Given the above misfeatures, I'd choose VSS over TFS, so I'm not sure where you're coming from.

     

    I also just looked up the full meaning of "TFS"

    Team Foundation!

    Fuck Yeah



  •  @The_Assimilator said:

    That boss should've been invited to take a long walk off a short cliff.

    A short CLIFF? So he would fall, what.. 2-3 feet? Big deal.



  • @SQLDave said:

     @The_Assimilator said:

    That boss should've been invited to take a long walk off a short cliff.

    A short CLIFF? So he would fall, what.. 2-3 feet? Big deal.

     

    I think what The_Assimilator mean to say was "a long walk off a short peer".

    This would make more sense as in-breeding is rife in the aristocracy and many peers are of slight physical stature.

    As a result the fall would be more like 4 or 5 feet which could easily result in a sprained ankle.



  • @RTapeLoadingError said:

    @SQLDave said:

     @The_Assimilator said:

    That boss should've been invited to take a long walk off a short cliff.

    A short CLIFF? So he would fall, what.. 2-3 feet? Big deal.

     

    I think what The_Assimilator mean to say was "a long walk off a short peer".

    This would make more sense as in-breeding is rife in the aristocracy and many peers are of slight physical stature.

    As a result the fall would be more like 4 or 5 feet which could easily result in a sprained ankle.

     

    No, the expression is: a long walk off a short beer

    As in, those little bottles of beer that you sometimes get several of in a bucket. Walking off one of those would cause one to trip forward and severely injure one's face, especially if another short beer or the bucket itself were interposed between face and floor.



  • @Someone You Know said:

    interposed
     

    What the hell.

    This is the best new meaningful word I've seen in a long time.



  • @dhromed said:

    @Someone You Know said:

    interposed
     

    What the hell.

    This is the best new meaningful word I've seen in a long time.

     

    For some definition of "new", perhaps. My dictionary dates "interpose" to 1582.

    Of course, everything does take longer in Europe.



  • @Someone You Know said:

    For some definition of "new", perhaps. My dictionary dates "interpose" to 1582.

    Of course, everything does take longer in Europe.

     

    I'd never seen it before.



  • English

    [edit] Etymology

    From Middle French interposer, modification (influenced by poser to put, place), from Latin interpōnō, from inter (between) + pōnō (I place, put).

    There's even in Dutch the word interpositie.



  • @dhromed said:

    @Someone You Know said:

    For some definition of "new", perhaps. My dictionary dates "interpose" to 1582.

    Of course, everything does take longer in Europe.

     

    I'd never seen it before.

     

    That's probably because it's not a dick.



  • @dhromed said:

    @Someone You Know said:

    For some definition of "new", perhaps. My dictionary dates "interpose" to 1582.

    Of course, everything does take longer in Europe.

     

    I'd never seen it before.

    Sort of like a World Cup victory?????



  • @OzPeter said:

    Sort of like a World Cup victory?
     

    Exactly, except that encountering the word "interpose" was more emotional.



  • @dhromed said:

    @OzPeter said:

    Sort of like a World Cup victory?
     

    Exactly, except that encountering the word "interpose" was more emotional.

    Well you could say something like "Carles Puyol interposed himself between Arjen Robben and the goal keeper". Except that wouldn't be true - he tackled Robben from behind.



  •  TRWTF is that the one time that Robben actually has a reason to fall over, he doesn't.



  • @OzPeter said:

    @dhromed said:

    @OzPeter said:

    Sort of like a World Cup victory?
     

    Exactly, except that encountering the word "interpose" was more emotional.

    Well you could say something like "Carles Puyol interposed himself Arjen Robben between Arjen Robben himself and the goal keeper ground".
     

    FTFY.



  • @b_redeker said:

     TRWTF is that the one time that Robben actually has a reason to fall over, he doesn't.

    I know - that was weird given all the other theatrics in the game. Maybe he missed the team session where they told them to win at all costs ??? (witness the kick to Xabi Alonso's chest by De Jong)



  • @OzPeter said:

    @b_redeker said:

     TRWTF is that the one time that Robben actually has a reason to fall over, he doesn't.

    I know - that was weird given all the other theatrics in the game. Maybe he missed the team session where they told them to win at all costs ??? (witness the kick to Xabi Alonso's chest by De Jong)
     

    Disclaimer: I don't know anybody's names.

     

    Or the time that Xavi(?) was pushed down from behind in the penalty area (second half) after beating the defender and didn't get the PK called... 

    The Dutch can't really bitch about that game, it was out of control on both sides.  Plus, that "awsome" striker of yours missed TWO one on ones with the goalie... he has his chances.

    They should have red carded everybody in that game except for the goalies and let those two duel it out.  It was a mess.



  • @amischiefr said:

    Disclaimer: I don't know anybody's names.

     Or the time that Xavi(?) was pushed down from behind in the penalty area (second half) after beating the defender and didn't get the PK called... 

    The Dutch can't really bitch about that game, it was out of control on both sides.  Plus, that "awsome" striker of yours missed TWO one on ones with the goalie... he has his chances.

    They should have red carded everybody in that game except for the goalies and let those two duel it out.  It was a mess.

     

    You are a person of wisdom and insight.



  • @amischiefr said:

    The Dutch can't really bitch about that game, it was out of control on both sides.  Plus, that "awsome" striker of yours missed TWO one on ones with the goalie... he has his chances.
    Not my striker, I'm just an unbiased observer. My strikers left the world cup field several weeks ago.@amischiefr said:
    They should have red carded everybody in that game except for the goalies and let those two duel it out.  It was a mess.
    Yep it was a total mess. Really ugly game and not like what I wanted to see. But while I don't want to sound like a whiner, I was not impressed by the refereeing in any of the games that I saw, and I almost doubted that the ref for the final even had a red card in his pocket.



  • @OzPeter said:

    ...and I almost doubted that the ref for the final even had a red card in his pocket.

    Side question from someone who has never seen an actual football/soccer game: when they talk about the referee "giving" a player a yellow or red card, is an actual physical card given to the player? And if so, does he get to keep it?



  • @Someone You Know said:

    @OzPeter said:

    ...and I almost doubted that the ref for the final even had a red card in his pocket.

    Side question from someone who has never seen an actual football/soccer game: when they talk about the referee "giving" a player a yellow or red card, is an actual physical card given to the player? And if so, does he get to keep it?

    The ref has two cards in his pocket - one red and one yellow. They are for taking names of players when they transgress the rules to a lesser or greater degree. The ref "gives" a card to a player by holding up in the air above the player so the whole world can see what has been done. In football/soccer red means you're instantly out of the game completely (and cannot be replaced by a substitute - so your team is down one player), yellow means you are warned, and if you perform another yellow card level infraction you sent off as if it was a red card level infraction. The were 13 yellow cards and 1 red handed out during the final which is a huge amount for any soccer game.

    Of course you could have googled it



  • @OzPeter said:

    @Someone You Know said:

    @OzPeter said:

    ...and I almost doubted that the ref for the final even had a red card in his pocket.

    Side question from someone who has never seen an actual football/soccer game: when they talk about the referee "giving" a player a yellow or red card, is an actual physical card given to the player? And if so, does he get to keep it?

    The ref has two cards in his pocket - one red and one yellow. They are for taking names of players when they transgress the rules to a lesser or greater degree. The ref "gives" a card to a player by holding up in the air above the player so the whole world can see what has been done.

     

    You liar!

    SYK, worry not, I will give you the real story:
    Yes, the players are handed these cards. They usually fold open and contain a short phrase of profanity, as were they an anti-Hallmark. They player is then required by tradition to invent an insult and deliver it verbally to the referee. The cards are yellow because they "take the piss" on the player. The game then continues as normal. Red cards contain insults of a more vile and personal nature, and have so far succeeded every single time in getting a player so worked up that they leave the field, "red" with anger.

    I am an experienced soccerwatcher and you should trust my words.



  • I think it's the natural evolution of football. For years on end the netherlands has been praised for losing with beautiful play. This time they decided to simply kick people in the chest and perfect the ability of making it look like you and our opponent just tripped over each other, and they beat brazil and got to the semi-finals.

    Also, I will be in germany next week getting investment tips from a cephalopod named paul.



  • @dhromed said:

    I am an experienced soccerwatcher and you should trust my words.

    You know .. you should have left it before this little bit. Everyone knows that a European calls soccer football. So therefore either you are nota European or you do not watch football. Either way, you sir are a liar!



  •  ack! outed!



  • @dhromed said:

    @OzPeter said:

    @Someone You Know said:

    @OzPeter said:

    ...and I almost doubted that the ref for the final even had a red card in his pocket.

    Side question from someone who has never seen an actual football/soccer game: when they talk about the referee "giving" a player a yellow or red card, is an actual physical card given to the player? And if so, does he get to keep it?

    The ref has two cards in his pocket - one red and one yellow. They are for taking names of players when they transgress the rules to a lesser or greater degree. The ref "gives" a card to a player by holding up in the air above the player so the whole world can see what has been done.

     

    You liar!

    SYK, worry not, I will give you the real story:
    Yes, the players are handed these cards. They usually fold open and contain a short phrase of profanity, as were they an anti-Hallmark. They player is then required by tradition to invent an insult and deliver it verbally to the referee. The cards are yellow because they "take the piss" on the player. The game then continues as normal. Red cards contain insults of a more vile and personal nature, and have so far succeeded every single time in getting a player so worked up that they leave the field, "red" with anger.

    I am an experienced soccerwatcher and you should trust my words.

     

    Trustworthy or not, it's a lot more interesting than OzPeter's version. If the audience could submit insults to be included on the cards, it might make want to actually watch a match.



  • @Someone You Know said:

    Trustworthy or not, it's a lot more interesting than OzPeter's version. If the audience could submit insults to be included on the cards, it might make want to actually watch a match.
     

    They should make it like Hockey: whenever there is a foul, the two involved get up and start fighting.  First one to drop like a bitch has to go sit on the sideline for 1 minute.

     

    Also, whenever somebody from the Italian team falls down, they are immediately red carded for being a diving baby.



  • @amischiefr said:

    Also, whenever somebody from the Italian any team falls down, they are immediately red carded for being a diving baby.

    FTFY.



  • @Someone You Know said:

    @amischiefr said:
    Also, whenever somebody from the Italian any team falls down, they are immediately EXTERMINATED!!
    FTFY.
    DTFY



  • @amischiefr said:

    They should make it like Hockey
     

    #7549 +(1046)- [X]

    [blergh`] so i went to this fight and a damn hockey game broke out




  • @dhromed said:

    @amischiefr said:

    They should make it like Hockey
     

    #7549 +(1046)- [X]

    [blergh`] so i went to this fight and a damn hockey game broke out


     

    So I went to this vuvuzela concert and a damn soccer football game broke out



  • @dhromed said:

    @OzPeter said:

    @Someone You Know said:

    Side question from someone who has never seen an actual football/soccer game: when they talk about the referee "giving" a player a yellow or red card, is an actual physical card given to the player? And if so, does he get to keep it?

    The ref has two cards in his pocket - one red and one yellow. They are for taking names of players when they transgress the rules to a lesser or greater degree. The ref "gives" a card to a player by holding up in the air above the player so the whole world can see what has been done.

     

    You liar!

    SYK, worry not, I will give you the real story:
    Yes, the players are handed these cards. They usually fold open and contain a short phrase of profanity, as were they an anti-Hallmark. They player is then required by tradition to invent an insult and deliver it verbally to the referee. The cards are yellow because they "take the piss" on the player. The game then continues as normal. Red cards contain insults of a more vile and personal nature, and have so far succeeded every single time in getting a player so worked up that they leave the field, "red" with anger.

    I am an experienced soccerwatcher and you should trust my words.

     

    This may be true at amateur level but it's a bit different in the world cup.  What actually happens is that when the referee spots a foul that is worthy of a caution he blows the whistle, takes out a yellow card and writes on it a brief description of the foul.  (An example might be "XXXX performed a slide tackle from behind after the ball had gone.  There was minimal contact but the intent dictated that this card be issued.")

    Each yellow and red card is printed with the date, venue and teams involved.  In fact, many of football's more sentimental hatchet men spend the winter evenings poring over scrap books full of various coloured cards.   



  • @RTapeLoadingError said:

    In fact, many of football's more sentimental hatchet men spend the winter evenings poring over scrap books full of various coloured cards.
    Considering that the UK has perfected the art of Train spotting, this is hardly surprising.



  • @OzPeter said:

    @RTapeLoadingError said:
    In fact, many of football's more sentimental hatchet men spend the winter evenings poring over scrap books full of various coloured cards.
    Considering that the UK has perfected the art of Train spotting, this is hardly surprising.
     

    The UK winter evenings take a lot of filling, given that there are 11 months worth each year.



  • @OzPeter said:

    @RTapeLoadingError said:
    In fact, many of football's more sentimental hatchet men spend the winter evenings poring over scrap books full of various coloured cards.
    Considering that the UK has perfected the art of Train spotting, this is hardly surprising.
     

    I saw a Monty Python sketch about train spotting when I was a kid, and for years I thought the whole concept was something they had made up for a laugh.


Log in to reply