• (cs) in reply to Bowie
    Bowie:
    Sad, but way often true.

    Used to work with a woman named Judy who basicalled BS'ed her way through an interview for a mainframe programmer's position. Day 1 comes along, they sit her down infront of a terminal, and she's absolutely clueless about what to do.

    After being confronted about lying, she threw a fit and threatened to sue if they ever fired her. Management realized pretty quickly they had a world-class sociopath on their hands, but since it was past her 30-day evaluation, there wasn't much they could do. She managed to hang onto her job like a damn barnacle and make everyone's lives miserable for 6 years until she could be.. um... "downsized". Every week it was something new.

    There are probably hundreds of stories of this woman I could share.

    Please do so.
  • (cs)

    If you're happy to do version/source control from the command line then use Git.

  • goatsmilk (unregistered) in reply to NeoMojo

    Finally.

  • (cs) in reply to csrster
    csrster:
    I think you misspelled "Commonwealth of Nations". The name "The British Commonwealth" was dropped, believe it or not, almost 60 years ago.

    And ever since then, the British Commonwealth never had any countries in it. Got it.

  • Scotswoman (unregistered) in reply to Coxy
    People in the UK often say "different to", but they're wrong and I tell them so.

    Tell y'what. I'll start saying 'different from' when you put all those u's back.

    Took me three hours to make my first HTML page, twelve years ago, because I wrote it in British English...

    http://jeffprucher.com/wp-content/uploads/2007/06/noah_webster.png

  • Dave (unregistered) in reply to Coxy
    Coxy:
    "Different to" is just as wrong as "similar from".

    It's "different from", "similar to" and "same as". Learn your prepositions.

    People in the UK often say "different to", but they're wrong and I tell them so.

    How do you prove that they are wrong and you are right? I'm from/in the UK, and I prefer different to. Is it wrong in the same way that it's obviously wrong to say I could care less when what you obviously mean is "I couldn't care less`, or is it open to discussion?

  • Bob McBobson (unregistered)

    I always thought the correct spelling was "exception".

    Darrell didn't spot that either...

  • (cs) in reply to real_aardvark
    real_aardvark:
    I believe that Microsoft themselves have now banned the stupid thing, which just leaves an awful lot of WTF companies out there looking even more stupid.

    Actually, the WTF companies have always looked stupid, and MS was smart enough never to have used VSS at any point (they used their own internally-developed system until recently; VSS was purchased from Perforce years ago and rebranded).

  • (cs) in reply to KattMan
    KattMan:
    One developer will eventually overwrite the others changes completly. The simplist example fo this would be something along the lines of an integer being set to 1 by one person but 2 by another. What does merging do to fix this?

    You're not a developer, are you?

    Any decent source control system merge would realize that the two lines have both been edited, that it can't fix it without someone's intervention, and would therefore flag it as a conflict. A developer would then figure out (with or without someone else's input, depending on the situation) which line was correct, manually make the change, and check in the file while telling the VCS that the conflict was resolved.

    KattMan:
    Eitehr one line is replaced by the other or one line falls after the other. Either way, last one in wins and neither of the developers are really notified of this kind of collision.

    As I explained above, this is wrong. You obviously either aren't a developer, or you work in such a crappy job that you don't know how source control works because you don't use it. Either way, STFU until you have a clue what you're talking about - we get enough dolts in here wasting our time without your additional garbage.

  • (cs) in reply to Bowie
    Bowie:
    Used to work with a woman named Judy who basicalled BS'ed her way through an interview for a mainframe programmer's position. Day 1 comes along, they sit her down infront of a terminal, and she's absolutely clueless about what to do.
    Bowie:
    Management realized pretty quickly they had a world-class sociopath on their hands, but since it was past her 30-day evaluation, there wasn't much they could do.

    Logic flaw somewhere. How could she have been confronted about lying on her first day (being clueless) and still be past her 30-day evaluation?

    Care to try your fiction again in a way it might make sense? (It's pretty bad to have a major consistency error in two short paragraphs right next to each other.)

  • (cs) in reply to KenW
    KenW:
    real_aardvark:
    I believe that Microsoft themselves have now banned the stupid thing, which just leaves an awful lot of WTF companies out there looking even more stupid.

    Actually, the WTF companies have always looked stupid, and MS was smart enough never to have used VSS at any point (they used their own internally-developed system until recently; VSS was purchased from Perforce years ago and rebranded).

    Really? I thought they brought the source code for Perforce and came up with SourceDepot... (I could well be wrong... just what I heard from a PM)

  • (cs) in reply to Saemundr
    Saemundr:

    Trading over their connection: perhaps he was VPN'd in? i know my work VPN kills my local browser.

    Disable the "use remote deafault gateway" checkbox and both VPN and local internet will work again ;)

  • Matt (unregistered)

    Just because a developer dresses well does not mean he or she is a bad coder. There are also plenty of awful developers who dress poorly. Stories like this are too quick to emphasize that "if someone looks like management, they must be management!" Ultimately, what matters on my development team is not someone's appearance but his or her engineering capabilities.

  • (cs) in reply to Joao Marcus
    Joao Marcus:
    Thank you, Microsoft, for making a whole generation afraid of source control

    Sounds like the same logic used in the 'McDonalds made me fat' court cases to me.

    But come on, ok VSS isn't good compared to modern versions... but compared to many products out there (Serena/Meral Dimmensions and other PCVS spawn) it's 'Average'.

    It's only real main problem is that their is no intelligence in the client to auto detect modification, ohh and there are no changelists and it's exlusive locking *but so that applies to many version control tools out there...

  • Shill (unregistered) in reply to Mister Bee
    Mister Bee:
    Saemundr:

    Code example: it was a typed example, not copy paste of the original source.. not a crime.

    Trading over their connection: perhaps he was VPN'd in? i know my work VPN kills my local browser. He was downloading a torrent, possibly onto his workstation onsite for retrieval by USB HDD later, free badwidth anyone?

    Interesting stories: how long have u been frequenting this site. GTFO if u want interesting, sheesh...

    I've been frequenting this site since about 2006, I don't believe it's mandatory to make comments on everything to have valid comments for ONE thing.

    1. It wasn't VPN, they saw the mouse moving, ergo it's some sort of remote control client.
    A remote control client may be run over the Internet in the clear or over a closed VPN (aka, the smart way).
    2. If it was a typed example without the real code, how do we know what the real code was?
    You'll never know, even if everyone claims to have copied and pasted it.
    3. You then run the risk (in a proper company, naturally) of having your USB HDD inspected.
    So they might a torrent file on his USB stick. WTF does that prove?
  • (cs) in reply to Grovesy
    Grovesy:
    Really? I thought they brought the source code for Perforce and came up with SourceDepot... (I could well be wrong... just what I heard from a PM)

    That could be right. I know Perforce was in there somewhere; I could have mis-remembered where it was (I also remembered it from something I heard a long time ago from a Microsoftie).

    VSS was also purchased by MS from someone else, and was never used internally (again, based on what I was told and not my personal experience) by MS.

  • (cs) in reply to KenW

    [quote user="KenW You're not a developer, are you? [/quote]

    You failed at reading didn't you? If you read the posts after the one you quoted you would realize how many people agreed with me. Especially since they realize I'm not knocking the tool but the practices of those that are using it.

    I have had success and failures with both merge tools and checkin/out tools. It all depended on the policies involved and the people using them.

  • (cs) in reply to KenW
    KenW:
    Grovesy:
    Really? I thought they brought the source code for Perforce and came up with SourceDepot... (I could well be wrong... just what I heard from a PM)

    That could be right. I know Perforce was in there somewhere; I could have mis-remembered where it was (I also remembered it from something I heard a long time ago from a Microsoftie).

    VSS was also purchased by MS from someone else, and was never used internally (again, based on what I was told and not my personal experience) by MS.

    Yeh, there has been some real screwups, where somone within MS has purchased another comapany / product without researching it well enough... Microsoft CMS (the original offering) was one such case (the grapevine, not confirmed story was it was purchased to replace all the MSN CMS systems, turned out that there was no way it could cope with the load... at the time a mere several billion page impressions a month)

    The person who authorised the pruchase, to save their own skin normally then tries to get the product boxed up and sold externally.

  • (cs) in reply to Dave
    Dave:
    Coxy:
    "Different to" is just as wrong as "similar from".

    It's "different from", "similar to" and "same as". Learn your prepositions.

    People in the UK often say "different to", but they're wrong and I tell them so.

    How do you prove that they are wrong and you are right? I'm from/in the UK, and I prefer different to. Is it wrong in the same way that it's obviously wrong to say I could care less when what you obviously mean is "I couldn't care less`, or is it open to discussion?

    How do you prove anything? They are wrong and we are right.

    Once more: just try saying "it differs to ..." with a straight face and an untroubled stomach.

    No, it is not wrong in the same way.

    If you say "I could care less," you are using a Yiddish idiom. Anybody who understands Yiddish is capable of recognising the ironic inversion here.

    If you say "different to" you are being an ignorant prat.

    Most people can tell the difference on this one.

  • (cs) in reply to Joao Marcus
    Joao Marcus:
    You know what's funny? Now they're selling Team System, and I've read on their website that "both SourceSafe and Team System are good choices". If Team System is comparable to SourceSafe, then I'm never, ever using Team System.
    Technically, Team System is indeed comparable to SourceSafe.

    It is also comparable to a rancid pregnant yak with hives.

    What I think you're trying to get at is that SourceSafe is only "a good choice" in the sense that voting for Hubert Humphrey rather than Richard Nixon might have been "a good choice." Or, indeed, vice-versa.

    PS Disclaimer: I have never used Team System. Frankly, I don't expect the urge to use it to come upon me any time soon.

  • (cs) in reply to Grovesy
    Grovesy:
    Sounds like the same logic used in the 'McDonalds made me fat' court cases to me.

    But come on, ok VSS isn't good compared to modern versions... but compared to many products out there (Serena/Meral Dimmensions and other PCVS spawn) it's 'Average'.

    It's only real main problem is that their is no intelligence in the client to auto detect modification, ohh and there are no changelists and it's exlusive locking *but so that applies to many version control tools out there...

    I'm not sure what you mean by "intelligence in the client to auto detect modification". VSS also allows multiple checkouts (non-exclusive locking), is enabled by the administrator. "changelists" as "group of changed files" doesn't exist.

    While we're at that, SOMEBODY, PLEASE, tell me, in Perforce, how to see ALL labels on a source tree, not just applied by certain user. And how to see labels AND changes in the same view. VSS did show that in History.

  • Scotswoman (unregistered) in reply to real_aardvark
    If you say "different to" you are being an ignorant prat.

    Way to insult entire countries.

    Also, linguistically speaking, wrong.

    If you say "I could care less," you are using a Yiddish idiom.

    However, if you say 'I couldn't care less' you are a) being clearer and b) speaking the Queen's English, therefore automatically superior in every way :)

  • (cs) in reply to alegr
    alegr:
    I'm not sure what you mean by "intelligence in the client to auto detect modification". VSS also allows multiple checkouts (non-exclusive locking), is enabled by the administrator. "changelists" as "group of changed files" doesn't exist.

    I mean, some tools if you copy / modify / delete files from your local disk, the client can detect this and checkout / add / delete those files into a changelist...

  • German (unregistered) in reply to KenW
    KenW:
    As I explained above, this is wrong. You obviously either aren't a developer, or you work in such a crappy job that you don't know how source control works because you don't use it. Either way, STFU until you have a clue what you're talking about - we get enough dolts in here wasting our time without your additional garbage.

    This is unnecessarily rude. The explanation should be enough. I used to work with a locking versioning system, and it seemed the most natural thing for team development. The first time I faced a non-locking system I was highly skeptical and it felt wrong. They told me about automatic merging and manual conflict resolution. That and a bit of experience removed any fears.

  • Jay (unregistered) in reply to tin
    tin:
    real_aardvark:
    I doubt it will get replaced by "different to," though, because that's not how mass ignorance works in a linguistic setting.

    Only in America. As far as I am aware, we in Australia are "different to" those in the US. I gather UK residents agree with us.

    And Australians are more different to Americans than they are to Britons. :-)

    I'm an American. I once wrote an article for an Australian magazine. They changed a bunch of my spellings. So I proudly told my friends that this was my first foreign-language publication.

  • (cs) in reply to Scotswoman
    Scotswoman:
    If you say "different to" you are being an ignorant prat.

    Way to insult entire countries.

    Also, linguistically speaking, wrong.

    In some quite clearly obvious way that has hitherto escaped my notice, I would assume.

    I'd so love the ability to insult entire countries. For the moment, I tend to concentrate on pointing out the bleedin' obvious. It would be snarky of me to suggest that hitting the "caps" key before typing in "quote" is evidence of a feeble mind, so I won't.

    Scotswoman:
    If you say "I could care less," you are using a Yiddish idiom.

    However, if you say 'I couldn't care less' you are a) being clearer and b) speaking the Queen's English, therefore automatically superior in every way :)

    I see you've really hit the nail on the head this time.

    That's the power of humour and the Yiddish dialect out the window, then.

    From now on I promise to express myself in solecisms. What the fuck? If it's good enough for a person of indeterminate gender who may or may not express their inner idiot by wearing a skirt by the clan Stewart, it's good enough for Grammar Nazi boy here.

  • (cs) in reply to German
    German:
    KenW:
    <snip/> your additional garbage.

    This is unnecessarily rude.

    Unnecessarily rude??

    German, meet KenW.

    He'd like to be Stalin, but somebody else got there first.

  • Jason (unregistered)

    I worked with someone like this. He was an architect and I one of the devs on the team. His design made parts of a web application run-time configurable by loading information out of a database table. Business types could update the table via some internal admin tool and voila - app changes without a dev involved.

    Somehow it got implemented so that as soon as any change was made in the database, the application was broken becasue all other database tables and rows had to be updated accordingly. So not only did the design not work, it was extremely awkward to build in the first place and ran slow.

    All the while, this person would brag about his fat contract to anyone who wanted to listen, and how he was thinking about taking off for an even bigger contract, leaving this project without an architect.

  • (cs) in reply to Grovesy
    Grovesy:
    alegr:
    I'm not sure what you mean by "intelligence in the client to auto detect modification". VSS also allows multiple checkouts (non-exclusive locking), is enabled by the administrator. "changelists" as "group of changed files" doesn't exist.

    I mean, some tools if you copy / modify / delete files from your local disk, the client can detect this and checkout / add / delete those files into a changelist...

    I think that's the case when a program is trying to be too smart. There are cases when a programmer may not want to propagate local changes to the source store. Taking a diff of the local tree versus store and checking in any wanted changes is good enough for me. In other words, the program should make the most common behavior easy, not-so-common behavior possible, and prevent wrong moves. What if you deleted a file accidentally, or just deleted the whole local source tree? Will it be deleted in the store? That's like iTunes deleting all files on iPod if you (God forbid) plug it into different host.

    On the other hand, suppose you got latest sources at one point, edited some of them and trying to submit back. Without the source control knowing what was your original revision, how it can merge your changes? That's the whole point of explicit (or automatic, like VSS inside VisualStudio) checkout.

  • rhino-x (unregistered) in reply to KenW
    KenW:
    real_aardvark:
    I believe that Microsoft themselves have now banned the stupid thing, which just leaves an awful lot of WTF companies out there looking even more stupid.

    Actually, the WTF companies have always looked stupid, and MS was smart enough never to have used VSS at any point (they used their own internally-developed system until recently; VSS was purchased from Perforce years ago and rebranded).

    No, VSS was purchased from someone else and Microsoft's "internally-developed" solution is a source-licensed version of Perforce.

    Perforce is awesome, and VSS is total garbage.

  • (cs) in reply to alegr
    alegr:
    <snip/>What if you deleted a file accidentally, or just deleted the whole local source tree? Will it be deleted in the store? That's like iTunes deleting all files on iPod if you (God forbid) plug it into a different host.
    Strangely enough, source-control systems have protected the source tree from precisely this sort of problem since around 1980 or so. It's called "history." Short of sysadmin butchery, the originals hang around until the last trump.

    Jeez.

    It's no wonder I had so much trouble introducing Subversion to my last job.

  • (cs) in reply to alegr
    alegr:
    On the other hand, suppose you got latest sources at one point, edited some of them and trying to submit back. Without the source control knowing what was your original revision, how it can merge your changes? That's the whole point of explicit (or automatic, like VSS inside VisualStudio) checkout.
    Well, that's one way of thinking.

    An alternative view is that "source control" knows (a) what the code at the original head of the tree (I'm simplifying here) looks like (b) what your revised code looks like (c) what the current code at the head of the tree looks like.

    From there, collect underpants, blah blah blah, profit.

    Perhaps a more sensible alternative to VSS might be to insist that one shouldn't employ hill-billies as programmers?

  • (cs) in reply to alegr
    alegr:
    What if you deleted a file accidentally, or just deleted the whole local source tree? Will it be deleted in the store? That's like iTunes deleting all files on iPod if you (God forbid) plug it into different host.

    Umm, you would still have to commit your changes, if you commit a change that deletes a whole branch, then you get everything you deserve.

    I will try and clarify, I've worked with a few client tools which allow you to make modifications to your local repository. In the client, you could right click on a folder, and ask for a diff between your local version and the HEAD revision. You can then put all your local changes into a changelist (you deleted x, moved y). Modified files will be attempted to be checkedout.

    Once you are done, commit your changes as normal,

    Another example is TortoiseSVN (which is just merge/checkin), which tracks all local changes. If you delete a directory (it will indicate in explorer with an icon that you are deleting it). If you then right clicked->Commit. It will tell you that you are deleting the folder

  • (cs) in reply to rhino-x
    rhino-x:
    KenW:
    real_aardvark:
    I believe that Microsoft themselves have now banned the stupid thing, which just leaves an awful lot of WTF companies out there looking even more stupid.

    Actually, the WTF companies have always looked stupid, and MS was smart enough never to have used VSS at any point (they used their own internally-developed system until recently; VSS was purchased from Perforce years ago and rebranded).

    No, VSS was purchased from someone else and Microsoft's "internally-developed" solution is a source-licensed version of Perforce.

    Perforce is awesome, and VSS is total garbage.

    Ahh yeh, that's it. The internally-developed version, based of the Perforce source, is Source Depot... Source Depot (when I was there) is heavily linked into a myraid of distributed build systems and testing tools. (Hence the switch over to TFS is still on-going.

    Though I don't think the switch over is an overal company wide strategy, just individual teams are choosing to switch over when it becomes appropriate.

  • (cs)
    try {
        try {
            if (customer.Equals(null))
            {
              throw CustomerNotFoundExcepetion();
            }
        } catch {
            throw CustomerNotFoundExcepetion();
        }
    
    } catch {
        // It'll get here eventually...
        throw new CustomerNotFoundException();
    }
    

    There. All fixed now.

    -dZ.
    
  • AdT (unregistered) in reply to alegr
    alegr:
    And while its "database" consists of a horribly obscure set of files, it's easy to (partially or fully) back up and (partially or fully) restore or merge to a different "database".

    Really? How do you merge one horribly obscure set of files to another horribly obscure set? "Dump them all into one directory and see what happens"?

    alegr:
    Of course, because it's file based (not server-client), just like every other versioning system until recently, there is no much enforceable fine-grained permission, other than file based security.

    "File based" is how the repository backend works. Client-Server is whether the repository and working copy code (in Subversion terms) communicate locally or over a network. Hence this is a false dichotomy. Also, it's the server operator's job to ensure that databases are backed up who can typically use file-based tools no matter whether a server is running or not. "File based security" using SourceSafe, is of course completely useless in any case since you only have this obscure set of files with names like aaaaaabc and aaaabceb to work with.

    alegr:
    And it's absolutely adequate.

    No, it's not. In addition to the already mentioned deficiencies, let me mention a few more:

    • no atomic commits - ok, this was already mentioned but I have to add that this makes every attempt to put a consistent set of changes into SourceSafe akin to Russian roulette. You commit a large batch of changes and then somewhere in the middle VSS errors out because a) You shouldn't be doing that in the first place, or b) Oops, repository file abaccefb seems to be missing, or c) General error 1741. VSS veterans (the ones that were driven insane by this evil tool) probably giggle hysterically at the notion that a source control system might be able to provide something called "consistency" anyway.
    • no logical history - Sane source control systems make it easy to view related changes as one logical changeset. Then there is SourceSafe (to VSS's defense, CVS does neither, but CVS already sucks for it).
    • file operations (moving, renaming, deleting) take effect immediately, aggravating the consistency and transparency issues
    • directory layout information is not preserved - VSS does not track directory hierarchies properly, so renaming or moving a file will quite often make it impossible to later on retrieve a consistent snapshot of the hierarchy from a date prior to the rename or move. I'm sorry for mentioning the dirty c-word again.
    • tagging/branching a large source tree takes forever and a day - For added fun, use VPN over HSDPA. No, I will not mention the c-word again although it also applies here.
    • generally abysmal performance over high-latency networks - What did you expect from the company that thought the Internet was a passing fad?
    • branching is so horrible that no one uses it
    • client f***ups quite often damage the repository in unpredictable and humorous ways (disclaimer: the adjective "humorous" only applies if it wasn't your data)
    • 2 gigabytes repository size limit - Ok, this is not a huge deal. I mean no one seriously expects to be able to put more than two thousand million bytes (written out for dramatic effect) into a VSS database and get everything out again exactly the way it was, do they? So what if you put in... enormous amounts of material... and some of it is pushed over the edge? It probably wasn't that important anyway.

    I know I missed many of the reasons why using VSS is pure horror but that's only because after years of using Subversion instead, the memory repression has kicked in.

  • (cs) in reply to AdT
    AdT:
    alegr:
    Of course, because it's file based (not server-client), just like every other versioning system until recently, there is not much enforceable fine-grained permission, other than file based security.

    "File based" is how the repository backend works. Client-Server is whether the repository and working copy code (in Subversion terms) communicate locally or over a network. Hence this is a false dichotomy.

    You're being polite: it's total and utter garbage from the ground up. "Not much enforceable fine-grained permission," indeed. Visual Source Safe has the finest security system I've ever seen in a version control system.

    I call it the "Roach Motel" model of security. Source checks in -- it doesn't check out.

    AdT:
    no atomic commits - ok, this was already mentioned but I have to add that this makes every attempt to put a consistent set of changes into SourceSafe akin to Russian roulette. You commit a large batch of changes and then somewhere in the middle VSS errors out because a) You shouldn't be doing that in the first place, or b) Oops, repository file abaccefb seems to be missing, or c) General error 1741.
    Thank you so much for reviving my persistent nightmare of being chased across moonlit fields of data by a humongous, ravening, General Error 1741.

    You will not be on my Christmas card list this year.

  • (cs)

    I'm not sure I believe this story. For one I don't think any company would accept someone to come into their company and actually refer to the existing code in that way. At least I know it wasn't popular when I did it once.

    It is quite natural though for someone who comes into a company to immediately pick up on bad style because that's just about the only thing they can pick up on. It takes time to know the business needs behind the code but bad style is easy to detect.

    If the others in the team were going to stop going about their business for anything, it should have been to show him the ropes, i.e. train him up to understand what the code was actually there to do, what the business needs were, etc.

  • Boris Johnson (unregistered) in reply to tin
    tin:
    real_aardvark:
    I doubt it will get replaced by "different to," though, because that's not how mass ignorance works in a linguistic setting.

    Only in America. As far as I am aware, we in Australia are "different to" those in the US. I gather UK residents agree with us.

    Three cheers for the Commonwealth!

  • Sean (unregistered) in reply to Mike Dimmick

    Sorry, Mike. I think you missed the point of the story...

  • Johny Mark (unregistered) in reply to KattMan
    KattMan:
    OperatorBastardusInfernalis:
    You obviously have never used CVS or SVN.

    In such a case, merging actually fails and asks you which version to keep, or to merge the changes manually so it makes most sense. Conflict markers will be inserted into the file (which guarantee that compiling the file will fail), and svn will refuse to commit the file as long as the conflict is not yet "cleared".

    See: http://svnbook.red-bean.com/en/1.1/ch03s05.html#svn-ch-3-sect-5.4

    So basically, in case a conflict happened, both CVS and SVN require manual action and do NOT simply take over the "second" changes.

    (...) The developer sees the line marked in conflict, looks at his specs and decides to keep his change and toss out the other deveopers work. This can cause the other code that depends on this to no longer work, and that code is outside the use case of the current developer making the decision.

    It isn't the merge tools fault, I know. It is the practice and as I said, I don't care if I'm using in/out or merge, just provide a process that adquetly deals with the exceptions and have everyone follow them and I'm fine. The point is, merge is an art, in/out is a hard core rule. Rules are easier to handle, the art requires more practice.

    You know developers that just toss out other people's work? I feel sorry for you. Must be a bunch of clueless bastards. No, really, I've never, EVER worked with anyone that throws away code just 'cause.

  • Johny Mark (unregistered) in reply to KattMan
    KattMan:
    chrismcb:
    akatherder:
    I've always worked on small enough teams (less than 10) where locking files wasn't an issue. Merging is such a heinous, error-ridden "art" that I consider it a perk not to deal with.

    If you are using a real source control system, your changes are merged with the original file (the one you checked out)

    Merging three files isn't that complicated, it isn't very ehinous, and most of the "errors" can easily be spotted. This isn't a good reason to NOT let two people work on the same file.

    The simplist example fo this would be something along the lines of an integer being set to 1 by one person but 2 by another. What does merging do to fix this?

    You, er, TALK to the other developer. If two developers are setting the same variable to different values, then they are doing different things somewhere else. They NEED to know each other's work. It's a damn team, for Christ sake. What will file locking do? It will make the last developer see that it's safe to change that variable value to "2", he will not know someone else already changed that same value, the code will be broken. At least merging would make that obvious potential breakage ... obvious.

  • (cs) in reply to Johny Mark
    Johny Mark:
    You know developers that just toss out other people's work? I feel sorry for you. Must be a bunch of clueless bastards. No, really, I've never, EVER worked with anyone that throws away code just 'cause.

    It isn't just because. Change 1 comes in and you change it, two days later change two comes in, and another developer makes that change. The two changes seem unrelated. The problem is that both were submitted against previous code. Change two might not even be needed now that change one is done. This isn't a failure of the developer per say, but could be a failure of the project manager. And yes, we delete other developer's code all the time, that's what changes do.

    Johny Mark:
    KattMan:
    What does merging do to fix this?

    You, er, TALK to the other developer. If two developers are setting the same variable to different values, then they are doing different things somewhere else. They NEED to know each other's work. It's a damn team, for Christ sake. What will file locking do? It will make the last developer see that it's safe to change that variable value to "2", he will not know someone else already changed that same value, the code will be broken. At least merging would make that obvious potential breakage ... obvious.

    And this is exactly my point, as I said before...

    KattMan:
    It isn't the merge tools fault, I know. It is the practice and as I said, I don't care if I'm using in/out or merge, just provide a process that adquetly deals with the exceptions and have everyone follow them and I'm fine.
  • kelvSYC (unregistered)

    Canada's part of the Commonwealth, and "different from" is used here. Then again, in terms of English, Canada's the oddball of the lot.

    Not sure what they use over at the Rock, though. Have to get back to you on that.

    But on the real story - what kind of company would let a new guy hotshot like that? Unbelievable!

  • (cs) in reply to alegr
    alegr:
    Grovesy:
    alegr:
    I'm not sure what you mean by "intelligence in the client to auto detect modification". VSS also allows multiple checkouts (non-exclusive locking), is enabled by the administrator. "changelists" as "group of changed files" doesn't exist.

    I mean, some tools if you copy / modify / delete files from your local disk, the client can detect this and checkout / add / delete those files into a changelist...

    I think that's the case when a program is trying to be too smart. There are cases when a programmer may not want to propagate local changes to the source store. Taking a diff of the local tree versus store and checking in any wanted changes is good enough for me. In other words, the program should make the most common behavior easy, not-so-common behavior possible, and prevent wrong moves. What if you deleted a file accidentally, or just deleted the whole local source tree? Will it be deleted in the store? That's like iTunes deleting all files on iPod if you (God forbid) plug it into different host.

    On the other hand, suppose you got latest sources at one point, edited some of them and trying to submit back. Without the source control knowing what was your original revision, how it can merge your changes? That's the whole point of explicit (or automatic, like VSS inside VisualStudio) checkout.

    Gawrsh, deputy, and there might also be the possibility of, dare I say it, "branching" the code.

    CVS deals with this, albeit in a pathetic and manual fashion.

    SVN deals with it rather admirably.

    Christ's sake, even ClearCase can manage it.

    Get over Visual Source Safe, please. This isn't even worth a flame. Even yer average Microsoft weenie hates the bloody thing, and wishes it were dead. For good reason.

    (I expect you haven't bothered to read the variety of good reasons above.)

    "Without the source control knowing what was your original revision, how can it merge your changes?"

    Men are from Mars. Women are from Venus. I'm not even sure that you're from the Solar System.

  • ipsocurator (unregistered) in reply to AVF

    A much more useful change to the code would have been to correct the type in "Excepetion".

    Did you maen "typo"?

  • deadimp (unregistered)

    Come on people, why does grammar matter that much? A quarter of the posts deal with all of this 'controversy'. What's the true difference among 'different from' and 'difference than'?

    [Let's see who catches it]

  • (cs)

    I posted this over a year ago. http://forums.thedailywtf.com/forums/p/3858/91515.aspx#91515

  • there_is_another_way (unregistered) in reply to Mike Dimmick

    ss does an automatic merge when you get-latest (update) on a checked-out file. A safer process for committing is: get-latest, resolve conflicts, build, test, then check-in. This check-in cycle ensures that the version in the repository always compiles and runs. One thing to note however is that for this process to work, only one such cycle can take place at one time. This has to be coordinated "by hand". Some use a 'flag' file that is checked out exclusively by the one currently in the process. Some use a physical semaphore (really, a ball or something. Code freeze is hiding the ball, etc.).

  • lukas (unregistered)

    I think The Real WTF is that before the codebase was "improved", Exception was spelled wrong

    if (customer == null) { throw CustomerNotFoundExcepetion(); }

Leave a comment on “Skills.Equals(null)”

Log In or post as a guest

Replying to comment #:

« Return to Article