Team Foundation Server Express 2012



  • So, I wanted to use some kind of repository for my code, why not use the solution which integrates directly into Visual Studio 2012? And since I'm a single hobbyist, let's use the express version. It's free, after all!

    Downloaded the stuff, installed it, the installer fired up the wizard... and I'm greeted by this:

    The included link was less than helpful - it simply landed me on the default microsoft home page.
    The log I could open via "Open Log" was a bit more helpful. Just a bit, though. Because it insisted on telling me that my UI language was "1031" whereas my regional format was "1033".
    I also tried changing the regional format - didn't change a iota. Maybe I'll have to reboot after changing this?

    Anyway, why in the seven flaming hells is a UI language which differs from the date/time-format a problem? Isn't that thing modularized anyway?



  • @Rhywden said:

    why in the seven flaming hells is a UI language which differs from the date/time-format a problem?
    A quick search reveals that 1031 is "German" and 1033 is "English--United States".  I have no idea what's going on here, but it did answer something I've been wondering about -- over the years I've noticed that the number 1033 appears in a number of places in Windows and other Microsoft products.  Now I know why.  @Rhywden said:
    Maybe I'll have to reboot after changing this?
    Rebooting fixes everything.  Also, unplug your computer and hit it a couple of times.


  • ♿ (Parody)

    @Rhywden said:

    So, I wanted to use some kind of repository for my code, why not use the solution which integrates directly into Visual Studio 2012?

    Also, your finger is attached to your body. You could simply poke it through your eye!

    Don't all reasonable (plus git) SCM software have VS integration add ons?



  • Not available (yet) for 2012.



  • Should have used git.



  • TFS 2010 and 2012 install system is pretty good. You should have seen the original versions in 2005 - it was about two pages of manual configuration of almost everything to get all the bits to work. I managed to do this with the beta once, and got it working but it broke soon after. This is nothing by comparison.

    TFS preview is worth a look - host it on Azure, no configuration required. No pricing as yet though.

    Or set up a GitHub account.


  • FoxDev

    @Rhywden said:

    Not available (yet) for 2012.

    AnkhSVN is, as of late August. Don't know about any others, only checked this one.


  • Trolleybus Mechanic

    @Rhywden said:

    The included link was less than helpful - it simply landed me on the default microsoft home page.
     

    That is true of every single hyperlink in every single Microsoft product. It has something to do with the fact that they change their websites' URL, domain, page naming convention, querystring parameters, look, feel, UI, css, javascript and HTML about three times per day.

    It also means that any hyperlink added to a Microsoft webpage will only work for roughly 8 hours before being depricated and leading to a 404, or being auto-caught and redirected to their home page.

    If a hyperlink does work, you have a 50% chance it will go to the wrong page, 45% that it will go to an intermediary page with no/incomplete information AND more hyperlinks (forcing to "roll the dice" again) , and 5% of the time, it will go to the correct pag (only because they haven't shuffled the website yet).

    About the only way to get to a useful Microsoft knowledge page is from the comments in some random Indian guy's blog about the problem you're having.  Just pray the hyperlink leads directly to the KB article, and not to one of the many depricated microsoft "support" forums.


  • Discourse touched me in a no-no place

    @Lorne Kates said:

    It also means that any hyperlink added to a Microsoft webpage will only work for roughly 8 hours before being depricated obsoleted and leading to a 404, or being auto-caught and redirected to their home page.
    HTH..



  • Go to control panel and see what regional settings and default codepage for non-UNICODE programs you have.



  • @gu3st said:

    Should have used git.

    Spoken like a true developer. Git is a commit-only piece of trash, who cares about anything else in scm..



  • @Speakerphone Dude said:

    @gu3st said:
    Should have used git.

    Spoken like a true developer. Git is a commit-only piece of trash, who cares about anything else in scm..

    Is there any other method of inputting code you require other than, I dunno, inputting code?


  • I've always been puzzled by people who use a version control system for their personal projects. With just one person doing the programming, aren't many of the things that such a system does irrelevant? You won't need check in / check out, for example. I guess you still might benefit from being able to tag versions, make branches, and do merges, but unless your projects are huge, it would likely be much easier to just use the file system and maybe "diff" or "fc" to do these things. The notion of an "express" version control system for lone developers just seems fundamentally wrong to me... hell, if I were the only developer at my job, I'm not sure I'd need source control... collaboration is really the whole point of such systems.



  • @Speakerphone Dude said:

    @gu3st said:
    Should have used git.

    Spoken like a true developer. Git is a commit-only piece of trash, who cares about anything else in scm..

    Git: A system where one takes a local copy of some open source project, makes far-reaching edits without telling anyone else, and then sends the entire result to an arrogant moderator type for him to laugh at. It's a source control system only in the way that a garbage can is a mechanical design system.


  • Discourse touched me in a no-no place

    @bridget99 said:

    collaboration is really the whole point of such systems.
    And history.



  • @bridget99 said:

    I fundamentally misunderstand source control

    I was about to respond to this, but then I saw that it was bridget who wrote it. My compulsion has deflated.

    I'll just watch someone else respond instead.


  • FoxDev

    @bridget99 said:

    I've always been puzzled by people who use a version control system for their personal projects. With just one person doing the programming, aren't many of the things that such a system does irrelevant?

    Unless your personal project is 'Hello World!', source control is almost mandatory.


  • ♿ (Parody)

    @Xyro said:

    @bridget99 said:
    I fundamentally misunderstand source control

    I was about to respond to this, but then I saw that it was bridget who wrote it. My compulsion has deflated.

    I'll just watch someone else respond instead.

    Yeah, it's difficult to get too excited by a bridget99 troll. He really needs a new account for best results. But you summarized his post brilliantly.



  • @RaceProUK said:

    @bridget99 said:

    I've always been puzzled by people who use a version control system for their personal projects. With just one person doing the programming, aren't many of the things that such a system does irrelevant?

    Unless your personal project is 'Hello World!', source control is almost mandatory.

    You didn't really add anything there. You just stated that you disagreed with me, and you were so confident in your correctness that you threw in the qualifier "almost." I'll attempt to clarify what I originally posted, which won't add much to the discussion, but it will add more than your little "here's the party line, now report directly to Siberia" comment (or the handful of others that accompanied it).

    Collaboration is the raison d'etre of source control. Let me give you a real-world example. Linus Torvalds is someone who's had a lot to say about source control. Once multiple people became involved in Linux development, source control became a real - and contentious - issue. But do you think that when Linus was throwing together his first release version of Linux by himself, he gave version control a moment's thought?

    Without a doubt, there were times during this process when Linus wanted to do a "branch" operation. I imagine he probably just used his shell (e.g. "cp") to simply make a copy of his code. Later, if he wanted to merge the branch back in, he must have used something like "diff" to identify his changes so he could paste them back into the main copy of the code.

    Could source control have made these operations less awkward? Perhaps... but would the benefit have been so great that Linus should have put down the development of Linux so that he could dick around with setting up a source control system? 

    History argues otherwise. I think that Linus's single-minded sense of purpose is exactly why he wrote a widely-used OS (not a "Hello, World!" program) whereas most programmers don't achieve 1% of that in their entire career.

    Setting up personal source control systems is wheel-spinning. When people do that, the statement they make is "I want to be a developer, so I'm going to do things that I've heard that good developers do, even if I don't see much of a tangible payoff." People like Linus start with an entirely different mindset: "I want this computer to do something, and I know it can, so I'm going to write the code to do it."

    Neitzsche drew a distinction between "master" morality and "slave" morality, and I'm not sure I've ever run into a real-world example that illustrates this dichotomy better. Setting up source control at home is slave thinking. If you have time for that, you don't have any really compelling ideas, so you ape the actions of people who do have them.

    Do not let any of what I wrote above lead you to believe that I do not believe in source control, though. I have been at jobs where I've been the one who drew a line in the sand and said "we cannot go any further without a real source control system." I've set up source control systems from scratch, complete with documentation, policies, and such, and this has been very rewarding work.

    But at the same time, I have a solid mastery of the fundamentals, and I thus see where the real value of source control lies. It's a communication tool for multiple developers. If we're using exclusive check-out, and you decide to work on "COverarchitectedWidgetTier.java" at 3:00 AM but the system won't let you, that's a message from me to you saying: "hey- I'm working on that and I don't want to have to do a merge if you change it, too... so hands off."

    Once a project reaches the point where that sort of thing becomes an issue, source control is, indeed, mandatory. Before that, it's just an exercise in self-gratification. Sure, it can help you back up your code, and it can help you document your development process... but source control systems aren't backup systems, and they are not documentation systems, either. You can use them to do these things, just as you can use a 1969 Pontiac GTO to charge your cell phone, but to promote this sort of thing to "almost mandatory" status is a grave abuse of the word "almost."

    I have asked the question "why do you use source control for your personal projects?" of developers at other sites, where I am not quite so reviled as I am here, and many of the more cogent answers I received pointed to the use of Github as an archival tool. That's fine; I don't expect people to just trust the fixed disk on their development machine to be the only repository for their presumably valuable code. But you don't need source control to back your code up. Any pro-source-control argument that relies on the need to back up is setting up a straw man argument.

    No one ever said that backing up code is not necessary... but going back to my Linus Torvalds / Linux 1.0 example, does it really gain anything for Linus to be able to type "svn --whatever" instead of "cp --whatever" when he wants to make a branch, or finalize a version? What does that buy him, other than a smug sense of political correctness? Nothing... and that really gets at the heart of the matter here.

    It's somewhat ironic that Linus Torvalds and I actually disagree strongly about one aspect of this topic: Git. As I hinted in an earlier post, I don't think people who use Git really want or need help from a team of developers, at least not to the extent that people using Subversion, etc., do. Git is a gatekeeper for n00bs who want to work on the Linux code, not a suitable system for what I do professionally. At my job, I can't really just make the other developers do busy-work that I might merge into something real at some point in the future. They need to be able to actually (gasp!) make changes that will find their way into production.

    But despite this fundamental disagreement about tool specifics, I think Linus and I would be in complete agreement about the narrative I've constructed above: stopping his initial Linux development to set up some stupid personal version control system would have been a monumental waste of time. Had Linus done that, the whole history of computing would probably look different. Thank God he did not think like the narrow-minded plebes at this site... if he had, we'd all be melting our CPUs running Cygwin every time we needed to do something that didn't involve a self-mutilating paper clip or "bullet points."

    Finally, if there are people working on one-man projects that have gained a real benefit from source control, then speak up. I'd really like to know what Blakeyrat, C-Octothorpe, SpectateSwamp and the rest of the .NET-addled, clock-watching corporate developer types who dominate this site are working on in their spare time. I'd like to know what is so hard to manage without source control.

    I don't think there is any real answer to this question. I expect a bunch of blustery hypotheticals from these people in response, not real examples. The notion that these people's personal projects, if they even have any, are too precious for anything less than a full source control system is beyond laughable. It's insane.



  • If you're going to troll, use fewer words. Nobody's reading a wall 'o' text from a troll.


  • Considered Harmful


    I use source control in my spare time projects, it takes hardly any effort to set up git and I see great benefit from using it, including but not limited to:

    • the ability to pick up where I left off on any computer, I roam between several, frequently
    • the ability to branch and experiment with ideas that may or may not pan out, and either merge or throw them away
    • the ability to invite people to collaborate
    • the ability to roll back from the "what was I thinking?" moments resulting from coding while intoxicated
    • off-site backup (you mention this)
    • the ability to have a "ready to go" branch and a "I'm still working on this" branch

    But really. It's easy, it takes me maybe five minutes to get a new repository up and running, and there's a tiny bit of overhead in actually using it, but the benefits are so manifold that I can't see why anyone would question it. I can't see any reason not to use it other than sheer laziness.


  • FoxDev

    @bridget99 said:

    <wall type="text" />

    I would respond to that, but for two reasons:

    1. Holy shit, that's a lot of text.

    @joe.edwards said:


  • ♿ (Parody)

    @bridget99 said:

    Collaboration is the raison d'etre of source control.

    I would say that source control is necessary for collaboration.

    @bridget99 said:

    Finally, if there are people working on one-man projects that have gained a real benefit from source control, then speak up.

    Are you saying that the only reason you've ever used source control is to have multiple people working on stuff (i.e., collaboration)? You've never wondered about why / when you did something? Or wanted to revert something because whatever you did was a mistake? Or wanted to experiment with some approach to something?

    I've had projects where I wanted to have a branch of the code that used, say, a different major version of some dependency, but still have support for previous versions. How would you do this without some form of source control? Copied directories? Some other WTF?

    @bridget99 said:
    As I hinted in an earlier post, I don't think people who use Git really want or need help from a team of developers, at least not to the extent that people using Subversion, etc., do. Git is a gatekeeper for n00bs who want to work on the Linux code, not a suitable system for what I do professionally.

    I haven't used Git much, but for a new project, I'd much rather use Git than Subversion, if only because it's decentralized (my SCM of choice right now is Mercurial). And once again, we're left to wonder...Is bridget99 really this clueless?

    @bridget99 said:

    I don't thinkthere is any real answer to this question. I expect a bunch of blustery hypotheticals from these people in response, not real examples. The notion that these people's personal projects, if they even have any, are too precious for anything less than a full source control system is beyond laughable. It's . I'm insane.

    FTFY



  • @bridget99 said:

    I'd really like to know what Blakeyrat, C-Octothorpe, SpectateSwamp and the rest of the .NET-addled, clock-watching corporate developer types who dominate this site are working on in their spare time.

    There is at least one name that doesn't belong



  • @bridget99 said:

    I'd like to know what is so hard to manage without source control.
     

    As PJH said before your essay:

    history.



  • @boomzilla said:

    I haven't used Git much, but for a new project, I'd much rather use Git than Subversion, if only because it's decentralized
     

    Have used both centralized and distributed VCSs now, and I still do not understand what it is that distributed gets you.  Put a little more specifically: I cannot see how the benefit of being able to grab your repository from anwyhere outweighs the extra work associated with never having a single "master" repository.  The difference between a commit and a push is also something I haven't yet been able to see as a benefit.

    I will caveat that all my personal experience with distributed VCS is Mercurial, so perhaps that has given me a bad taste?



  • Jesus fuck, what the shit does Bridget have to type before you guys figure out its a troll? "I AM A TROLL" 37 times in every post? Would that do it?


  • ♿ (Parody)

    @too_many_usernames said:

    Have used both centralized and distributed VCSs now, and I still do not understand what it is that distributed gets you.  Put a little more specifically: I cannot see how the benefit of being able to grab your repository from anwyhere outweighs the extra work associated with never having a single "master" repository.  The difference between a commit and a push is also something I haven't yet been able to see as a benefit.

    Firstly, I don't need to be able to access the central repository to be able to commit, branch, etc. I can also clone the repo to multiple places to try something really weird that I don't necessarily want "polluting" the main repo (i.e., a super experimental branch). But not having network connectivity and still being able to work is a huge benefit. This may not be an issue for every project, but only the terminally trolling would even attempt to deny the potential benefit here.

    One thing that the DVCSes all seem to get right that most (all?) CVCSes get wrong is that the DVCSes do commit then merge, as opposed to the opposite. This means that if someone commits some changes to a file that you're working on, before you can commit your changes in, say, subversion, you have to first merge their changes into your (already modified!) file. The DVCSes allow you to commit and then you merge the differences. This allows you to have a record of both changes and how they were reconciled. There's nothing inherent in CVCS AFAIK that prevents this, except that the current implementations didn't do it that way. This is a critical reason why I prefer existing DCVS implementations to CVCS implementations.

    The DVCSes are generally just better in general in branching and merging. Subversion seems to be improving, but not nearly as good as, say, mercurial or git. This is really an accident of implementation, as there's no reason that CVCSes should suck at this...they just generally do.

    As far as commit vs push...well, it's just the only way you can implement. A push (or a pull!) is really just merging two repositories. A commit is merging something that exists in the repo with what you've changed. Of course, not pulling keeps your stuff private until you're ready to share it. That may or may not be a benefit in some cases, but it's just a side effect of the technology.

    There's no reason why you can't have a single master repository, but that's a matter of policy, not a limitation of the technology.

    @too_many_usernames said:
    I will caveat that all my personal experience with distributed VCS is Mercurial, so perhaps that has given me a bad taste?

    And most of my DVCS experience has been with Mercurial, so perhaps that has given me a good taste? :-)



  • @serguey123 said:

    <FONT color=#698d73>Who in their right mind would include C-Octothorpe?</FONT>
    Are you really still mad at me because you caught me in bed with your mom?  Jesus, get over it already!



  • @C-Octothorpe said:

    @serguey123 said:

    <font color="#698d73">Who in their right mind would include C-Octothorpe?</font>
    Are you really still mad at me because you caught me in bed with your mom?  Jesus, get over it already!

    I'm just sad she didn't include me


  • BINNED

    @boomzilla said:

    Yeah, it's difficult to get too excited by a bridget99 troll. He really needs a new account for best results. But you summarized his post brilliantly.
    I'm not sure a new account would help. Bridget's trolls are quite distinctive.



  • @boomzilla said:

    Firstly, I don't need to be able to access the central repository to be able to commit, branch, etc. I can also clone the repo to multiple places to try something really weird that I don't necessarily want "polluting" the main repo (i.e., a super experimental branch). But not having network connectivity and still being able to work is a huge benefit. This may not be an issue for every project, but only the terminally trolling would even attempt to deny the potential benefit here.
     

    Yes, these are obvious benefits. I don't have a problem with those.

    @boomzilla said:

    One thing that the DVCSes all seem to get right that most (all?) CVCSes get wrong is that the DVCSes do commit then merge, as opposed to the opposite. This means that if someone commits some changes to a file that you're working on, before you can commit your changes in, say, subversion, you have to first merge their changes into your (already modified!) file. The DVCSes allow you to commit and then you merge the differences. This allows you to have a record of both changes and how they were reconciled. There's nothing inherent in CVCS AFAIK that prevents this, except that the current implementations didn't do it that way. This is a critical reason why I prefer existing DCVS implementations to CVCS implementations.

    I think I see what you're saying here. With SVN, if you try to commit your change when someone else "commited under you", you get a conflict, and have to resolve that before committing (so the commit is actually of the merge, rather than the individual changes).  With Hg, the commit creates an "unnamed branch" which then requires a merge.  I find the SVN approach nice because there are fewer steps (it's simply resolve-commit, instead of commit-pull-merge-commit-push) but you do lose the intermediate information that Hg gives you with the unnamed branch.

    @boomzilla said:

    The DVCSes are generally just better in general in branching and merging. Subversion seems to be improving, but not nearly as good as, say, mercurial or git.

    Our experience is that they are all bad - we had to do a bunch of manual repairing in our Hg merges, just as we had to do with SVN.  Hg seemed to be worse for us than SVN in one respect, though, in that it did not indicate a conflict and just put stuff in strange places, wheras SVN threw up its arms with a conflict indication.  I do admit, though, that this may somehow be related to issues in our process rather than the tool.

    As I said, what I don't see is that the benefits of having an "untethered" repository with DVCS outweight the extra management and process steps it requires to ensure everyone has the latest information.

    That said, I'm actually coming to be of the opinion that the biggest issue with all VCS is the way projects are set up in terms of branching and merging: if you get the basic setup wrong, the tools may not be able to overcome the bad decisions (such as branching too much of the project, keeping branches alive too long, branches of branches of branches...)


  • ♿ (Parody)

    @too_many_usernames said:

    I think I see what you're saying here. With SVN, if you try to commit your change when someone else "commited under you", you get a conflict, and have to resolve that before committing (so the commit is actually of the merge, rather than the individual changes).  With Hg, the commit creates an "unnamed branch" which then requires a merge.  I find the SVN approach nice because there are fewer steps (it's simply resolve-commit, instead of commit-pull-merge-commit-push) but you do lose the intermediate information that Hg gives you with the unnamed branch.

    I'd argue that you're not being lazy in the right way. I find it a lot easier to be able to focus on my task and get it working, then worry about dealing with changes from some other knucklehead. Especially when you have conflicts in the merge. This seems to be one of the more difficult things for people familiar with current CVCS systems to come to grips with. If svn could manage this, I'd be a lot less hostile towards it.

    @too_many_usernames said:
    As I said, what I don't see is that the benefits of having an "untethered" repository with DVCS outweight the extra management and process steps it requires to ensure everyone has the latest information.

    Eh...OK, though I can tell you that I work with some morons who run a subversion update once every month or so (whether they need to or not!), so this is really not a centralized vs decentralized problem. And it's actually easier and more traceable to deal with these issues in a decentralized setup, since clobbering someone else's stuff is generally an explicit merge+commit, and you can always back up and re-do the merge if something went wrong.



  • Without getting into the fact that the 1031 vs. 1033 issue is a PITA, and maybe even a WTF....

    Please re-read the message. It is NOT an issue with TFS. It is a limitation of SqlServer...so go ahead and blame Microsoft...but at least blame the correct product (and by extension the correct dividion within that huge company)



  • @boomzilla said:

    Are you saying that the only reason you've ever used source control is to have multiple people working on stuff (i.e., collaboration)?

    Yes, that's basically true. There have probably been cases where I put a solo project into source control because of policy, i.e. because I was part of a multi-developer team that put everything into source control. It had never even occurred to me to use source control for personal projects that are truly my own, though, until about 2-3 months ago when I started seeing a rash of questions like the OP's on the Internet. Clearly, somebody said something that sent a large number of bright-eyed young programmers off to put their three-tiered "Hello, World!" programs into source control. (Whoever this "somebody" was, I doubt this was his intent.)

    @boomzilla said:

    You've never wondered about why / when you did something?

    This phenomenon where people go back to their own code and are bewildered by it is, in fact, a bit foreign to me. I tend to work in discrete units; I find something I want to do, I attack it in long coding sessions, and then I post the result onto the Internet (as an HTML page with a linked ZIP) with full technical documentation.

    All of this hypothetical future confusion seems to rely on the existence of code that's unfinished and/or poorly documented. I'm a strong believer in the role of human factors in software development, i.e. I'm very skeptical of anything that relies on people remembering to do things correctly, or perfectly, and I'm also a bit of a source control evangelist. But if one's development philosophy is so bad that it results in these inexplicable, unfinished snippets of code lying about, then I don't believe that source control will really help. A simple will to finish things, and to include cogent documentation in the end product, are what's necessary at the most basic level (and wandering off to install and configure the source control tool du jour is probably counterproductive... we're already talking about an issue of attention span and focus here).

    That being said, I am sure there have been times when I have had occassion to ask "why" or "when," but, since I am "the worst programmer on this board," I guess I probably just wrote a comment instead of a check-in message, or I went back to an archival copy of my source code with a horrible name like "C:\Source\Frooble - Copy (28)." I apologize to all the babies that were no doubt maimed due to my own laziness when I chose to abase myself in this way, but I certainly cannot recall any instance where I found this approach to be difficult or unreliable.

    @boomzilla said:

    I've had projects where I wanted to have a branch of the code that used, say, a different major version of some dependency, but still have support for previous versions. How would you do this without some form of source control? Copied directories? Some other WTF?

    As for using multiple versions of a dependency in a personal project, I can't recall ever doing that. If I'm doing something of my own free will, I'm generally going to avoid dependencies as much as possible. If I am coding around some external API, I tend to select a lowest common denominator version and use it. I don't want to spend my own personal time attacking what Fred Brooks referred to as "accidental" (vs. "essential") difficulties. Avoiding "DLL Hell" style issues is a luxury that I have for personal projects that is probably not attainable for professional, group projects... and this is another example of why source control makes sense at work but not at home. (I may be a zookeeper from 9AM - 5PM, but I'll be damned if I'm going to let people dump elephant manure on my front lawn.)

    And copying directories is no more a WTF than a lot of the ways I've seen people horsewhip their source control system into doing the right thing. This isn't a criticism of source control, if you really need source control, but the notion that source control is inevitably soooo much better-organized and easier to comprehend than having a bunch of folders strikes me as a bit anal retentive. It's a classic example of "cargo cult" programming. It may make you feel better about yourself, but it's not necessarily going to make your life any easier.


  • FoxDev

    @bridget99 said:

    It's a classic example of "cargo cult" programming.

    Way to pick something completely unrelated to source control systems. I wouldn't want to employ you to write 'Hello World' based on what you've said so far.

     


  • ♿ (Parody)

    @bridget99 said:

    I'm also a bit of a source control evangelist.

    HAHAHAHAHAHA

    @bridget99 said:

    This phenomenon where people go back to their own code and are bewildered by it is, in fact, a bit foreign to me. I tend to work in discrete units; I find something I want to do, I attack it in long coding sessions, and then I post the result onto the Internet (as an HTML page with a linked ZIP) with full technical documentation.

    I guess this explains it. Your personal projects have no life cycle to speak of. I don't put any sort of one-off programs in source control either. I write them, use them, and delete (or at least ignore) them.

    @bridget99 said:

    And copying directories is no more a WTF than a lot of the ways I've seen people horsewhip their source control system into doing the right thing. This isn't a criticism of source control, if you really need source control, but the notion that source control is inevitably soooo much better-organized and easier to comprehend than having a bunch of folders strikes me as a bit anal retentive. It's a classic example of "cargo cult" programming. It may make you feel better about yourself, but it's not necessarily going to make your life any easier.

    I've no doubt that many atrocities have been committed with source control. I suppose some things even get put in there that don't need to be. But it's such a trivial thing any more, it's simply easier to use it by default, and you can always get rid of it later if you don't care, and I call total bullshit on the folders thing. That just means that you don't understand the source control that you're using (or you're using something awful, I suppose).



  • I am definately a BIG FAN of RevisionControl. I strive to put everything into a version controlled repository, unless the intention is to delete/destroy it before the end of that working session. I am not just referring to "source code" (although that certainly applies). If I had even a few dollars for every time I wanted/needed to look at a prior version of some electronic artifact I am pretty sure I would not have to be working for a living today.



  • @dhromed said:

    @bridget99 said:

    I'd like to know what is so hard to manage without source control.
     

    As PJH said before your essay:

    history.

    I have a Repository of Truth. There Is No History. Slow code is fast.

     



  • @RaceProUK said:

    @bridget99 said:

    It's a classic example of "cargo cult" programming.

    Way to pick something completely unrelated to source control systems. I wouldn't want to employ you to write 'Hello World' based on what you've said so far.

     

    "Cargo Cult" programming is happening any time a programmer does something superfluous and assumes it's good without reason. Source control can definitely fall into this category... whether we agree on when source control is necessary for any given project or not, I hope we can agree on what "Cargo Cult" programming is. Really, anything a developer does can potentially fall into this category.


  • FoxDev

    @bridget99 said:

    @RaceProUK said:

    @bridget99 said:

    It's a classic example of "cargo cult" programming.

    Way to pick something completely unrelated to source control systems. I wouldn't want to employ you to write 'Hello World' based on what you've said so far.

     

    "Cargo Cult" programming is happening any time a programmer does something superfluous and assumes it's good without reason. Source control can definitely fall into this category... whether we agree on when source control is necessary for any given project or not, I hope we can agree on what "Cargo Cult" programming is. Really, anything a developer does can potentially fall into this category.

     

    Having a complete record of all code changes, along with comments, isn't enough for you? Not to mention the benefits of branching, even on one-dev projects, as already outlined to others.

    I'm glad you think source control is beneath you. Really, I'm happy for you. It must be great to have so perfect a memory that you can remember every single line of code you ever wrote, along with when and why you wrote it. Me, I prefer to allow space in my memory banks for something other than code, so I use source control to remember stuff so I don't have to. that way, I can look at something six months later, think 'WTF?', check the commit history, then think 'Oh, that's why'.

     


  • ♿ (Parody)

    @RaceProUK said:

    Having a complete record of all code changes, along with comments, isn't enough for you? Not to mention the benefits of branching, even on one-dev projects, as already outlined to others.

    Who needs all that crap when you can complete a simple project in a single, marathon, cocaine-fueled coding session?! That might also help explain his posts...


  • FoxDev

    @boomzilla said:

    single, marathon, cocaine-fueled coding session
     

    Listening to this song :)

    Or this album :)

    Also:

    Doctor Rockso the Rock 'n' Roll Clown



  • @joe.edwards said:

    I use source control in my spare time projects, it takes hardly any effort to set up git and I see great benefit from using it, including but not limited to:

    • the ability to pick up where I left off on any computer, I roam between several, frequently
    • the ability to branch and experiment with ideas that may or may not pan out, and either merge or throw them away
    • the ability to invite people to collaborate
    • the ability to roll back from the "what was I thinking?" moments resulting from coding while intoxicated
    • off-site backup (you mention this)
    • the ability to have a "ready to go" branch and a "I'm still working on this" branch


    This is the most informative thing on here, I think. Sure, it's stuck beneath an insult meme... but there it is: an actual explanation of why I'm wrong according, according to someone with some sort of relevant experience who can actually write. I'm not sure I agree with all of it, but it is what I was hoping for nonetheless, and it is somewhat convincing. The difficulty I've had in getting this information would amaze me, had I not been involved in so many similar discussions in the past:

    Q: "Why do you use X?" A: "I just like the way it all integrates. It just seems like it makes me write better code. Scott Guthrie [or Joel Spolsky, etc.] uses it. It's sick."

    I think that software development, even of the most mundane sort, is too inherently creative of an activity for such arguments. "I did what everyone else does and it gave me a warm feeling" is not good enough for me.

    How wonderful life must be for everyone else here, since they are apparently naive enough to just take things on faith, and ostracize anyone else who doesn't. They've really got it all figured out.


  • @bridget99 said:

    blah blah blah blah blah

    And your entire wall of text can still be perfectly summed up as

    I fundamentally misunderstand source control.

     



  • I like this one personally.



  • @blakeyrat said:

    I like this one personally.

    I think American culture must have evolved in some sort of direction that I don't understand. That is where you're from, right? Amirite? I know, right? Right?



  • Right.

    Not sure who's running the Bridget99 account but it's gotta be someone on my Twitter account.


  • ♿ (Parody)

    @bridget99 said:

    How wonderful life must be for everyone else here, since they are apparently naive enough to just take things on faith, and ostracize anyone else who doesn't.

    I think you posted this comment to the wrong site.


Log in to reply