Best Version control system?

Discussion in 'App Development' started by bluematrix, Aug 4, 2012.

  1. Well, I am MS Partner - we get a lot f stuff. And no, it is not a "big enterprise setup", an action subscription is QUITE cheap. Every small 33 person shop should get in.

    I use extensive virtual machines ;) With the exception of some trading related stuff (that is extremely timing sensitive) everything runs on virtual machines, currently on 5 servers. Currently 28 cores (+ 6 hyperthreading) and 120 gigabyte memory ;)

    But yes, I would put it on virtual machines. 4 to be exact:

    * 1 for TFS
    * 1 for SQL Server
    * 1 fore Sharepoint
    * 1 for TFS build agents ;)
     
    #11     Aug 5, 2012
  2. I had a look at some virtual machine pricing and it can get expensive pretty quick (I'm on a super budget).. can you have TFS and SQL server on the same VM or is there some limitations? thanks again for your input, I'm looking into it now - it also seems to be the best integration for VS which is what I need.
     
    #12     Aug 5, 2012
  3. What pricing? BUY THE COMPUTERS. X79 workstation level boards accept up to 64gb memory ;)

    Yes, it CAN be installed into one machine, I just prefer control for backup / restore scenarios and I NEVER want ubilds on production machines (build machines may require a rebuild).

    Seriously, GET HARDWARE ;)
     
    #13     Aug 5, 2012
  4. 2rosy

    2rosy

    if you just want simple version control subversion is the easiest for single user single trunk.

    git is easy to branch and merge but has a learning curve. I have a ton of alias's setup for it because of everything that you can do.
     
    #14     Aug 5, 2012
  5. byteme

    byteme

    Forget SVN.

    Git or Mercurial is a better bet in 2012.

    Git works fine on Windows. There are loads of hosted Git solutions to keep your code securely e.g. Github.

    Or keep everything on your own server or just version locally (read: a server is not necessary)

    For beginners there is TortoiseGit which is a Windows shell integration tool for Git (similar to TortoiseSVN)

    Git also works fine with Visual Studio and most other IDEs.

    Yes, there is a learning curve however IDE integration hides a lot of the details from you. However, it's always best to learn the tool from the command line initially so you know what's going - if you don't like learning technical things then perhaps you're in the wrong industry.
     
    #15     Aug 5, 2012
  6. Craig66

    Craig66

    IMO it really depends what you want to do, if you're just running a personal projects SVN is great. I've used SVN with multi-gigabyte code bases and never had a problem. GIT is more complex model, really aimed at running distributed teams. In reality either will do the job fine.
     
    #16     Aug 5, 2012
  7. I agree with this. SVN is much easier to get up and going with. For a single user, you don't need anything else for the purpose.
     
    #17     Aug 6, 2012
  8. Gents,

    thank you all for your thoughts. I found all of them useful, in addition to everything I read on the net. I have made a decision.

    I wanted something that:

    1. Super simple and user friendly
    2. Fast and intuitive and not expensive (free if possible)
    3. Windows based
    4. Had a good integration with VS

    I have chosen Mercurial. It really fits my thinking and style. Very easy to set up and there is no server needed.

    I installed using TortoiseHG (http://tortoisehg.bitbucket.org/) and VisualHG (http://visualhg.codeplex.com/).

    Installation took literally 5min. I was able to create a repository and clone to a remote network drive in 5min. So was basically up and running in about 10min.

    Edit: Mercurial can actually be run in a client-server fashion using http://rhodecode.org, although I'm not fan of managing servers.
     
    #18     Aug 6, 2012
  9. TFS 2012 is looking pretty better compared to the past, but it's not official yet. I find the legacy TFS source control lacking. They took Visual Source Safe and tried to polish that turd with a belt sander. It causes all kinds of grief. It looks like TFS 2012 finally got all the legacy cruft out. I've only tried using the team stuff in 2012, and I see they still have to implement some very important things for task planning. Most of those features won't be very useful without also using Visual Studio.

    At home for my personal stuff, I have started to use git. There is a stupid learning curve on it, and the hard-core people don't help. They'll smack you over the face with the git manual, as if it really tells anything about how to really understand how it works. Generally they just go through the commands and you have to figure out the smart way to use them.

    I would recommend this as a primer:
    http://git-scm.com/book

    From there I finally came to an understanding of what they are trying to accomplished with distributed source control systems, and git in particular. Generally it goes something like this:

    1. You clone the repository to your machine.
    2. You have something you want to do, so you make a branch.
    3. You start filling in that branch, committing to it from time to time.
    4. Something else comes up that you want to try, but not with the branch you're working on since you're halfway through blowing up everything architecturally. So you make another branch off the original.
    5. You start filling in that new branch.
    6. Repeat....
    7. Eventually you want to share your mayhem with others, so you start to merge the branches together into a cogent base. You can undo these merges if they come out like crap.
    8. Eventually you merge back to the main branch.

    At points here, since you have a clone of the repository, you can have a buddy check out from your own clone if there's a branch the two of you want to muck with independently of everybody else.
     
    #19     Aug 7, 2012