What version control system to use

  • (2 Pages)
  • +
  • 1
  • 2

15 Replies - 1715 Views - Last Post: 14 April 2013 - 08:15 PM

#1 blank_program  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 11
  • View blog
  • Posts: 280
  • Joined: 22-July 09

What version control system to use

Posted 30 March 2013 - 07:48 AM

I work in both C# and Python fro small personal projects as I am not a fully committed software dev. But I wanted to keep track of my versions and files as I go along. What would be better for me: mercurial or subversion? I used subversion in the past and stored my project on Google code. But I also setup a separate local repo for other projects that I did not release. What might work better for me in this instance? I also primarily work on a Windows PC but have Linux and BSD servers.

Is This A Good Question/Topic? 1
  • +

Replies To: What version control system to use

#2 tlhIn`toq  Icon User is online

  • Please show what you have already tried when asking a question.
  • member icon

Reputation: 5316
  • View blog
  • Posts: 11,354
  • Joined: 02-June 10

Re: What version control system to use

Posted 30 March 2013 - 08:28 AM

I'd like to hear what others are doing as well.
I tried using Subversion but quickly found that it doesn't seem to support complex Visual Studio Solutions. {Unless someone knows a way around this}

If you have a solution of multiple projects, and they reference a common project (such as a library in the works of being created that is shared across those projects) it gets problematic. Picture a solution of:
  • ServerApplication
  • ClientApplication
  • SharedClassesAndProtocols


Subversion seemed to want to make everything a subdirectory of the primary project. Picture a pyramid: Everything flows from the top. What this caused (for me any way) is that every project that referenced the common library project had a subdirectory for that lib. So in my example The ServerApplication then created a subdirectory for SharedClassesAndProtocols, and the ClientApplication had its own copy of that lib. Changes in one aren't shared with the other.

It seemed to be because of the way subversion wants to do its hierarchy and not have linked references to a shared directory.

If someone here knows how to set it up right so this doesn't happen, I'd love to see how. Might make a great tutorial. I'm not a dummy or a rookie but I couldn't find a way to do it.
Was This Post Helpful? 0
  • +
  • -

#3 modi123_1  Icon User is offline

  • Suitor #2
  • member icon



Reputation: 8363
  • View blog
  • Posts: 31,052
  • Joined: 12-June 08

Re: What version control system to use

Posted 30 March 2013 - 09:20 AM

Personally I just use the single install of 'git'. It's fast.. easy.. integrated right into VS and life is good. When I get around to upgrading to VS2012 I'll probably give TFS Express a try, but for the moment git works well.
Was This Post Helpful? 0
  • +
  • -

#4 BobRodes  Icon User is offline

  • Your Friendly Local Curmudgeon
  • member icon

Reputation: 571
  • View blog
  • Posts: 2,979
  • Joined: 19-May 09

Re: What version control system to use

Posted 30 March 2013 - 12:00 PM

We've been using git as well and it seems to work fine.
Was This Post Helpful? 0
  • +
  • -

#5 jon.kiparsky  Icon User is offline

  • Pancakes!
  • member icon


Reputation: 7283
  • View blog
  • Posts: 12,079
  • Joined: 19-March 11

Re: What version control system to use

Posted 31 March 2013 - 08:16 AM

subversion generally works very well with text and doesn't work much at all with things that are binary. I believe git is more general in this regard, but I'm not an expert on the subject.


As far as which to use, google code is not a great choice unless you want all of your code to be public. Your options seem to be to use a paid host (and choose one that supports subversion and has a plan that you like) or to use git (and either pay or use bitbucket, which offers a certain amount of private repo for free) or to host something for yourself (which means a little work on your part, but work that's probably good to have done at the end of the day)

I suggest that you consider working in git in some fashion, NOT because I think it's necessarily superior but because you're already somewhat familiar with svn and you should see what git has to offer and be reasonably fluent in both of the commonly-used systems.
Was This Post Helpful? 0
  • +
  • -

#6 Skydiver  Icon User is offline

  • Code herder
  • member icon

Reputation: 3160
  • View blog
  • Posts: 9,529
  • Joined: 05-May 12

Re: What version control system to use

Posted 31 March 2013 - 08:45 AM

My boss pays me to use Subversion, but my source control system of choice is Mercurial. My second choice would be Perforce. My 3rd choice would be Subversion, then followed by a large gap of before I suggest using git, followed closely by TFS. I would never suggest using Visual Source Safe, not even to my worse enemy. I would go with using .ZIP files and multiple code snapshots before inflicting VSS on anybody.

I'd like to address tlhIn`toq query above, but I'm a little pressed for time right now, and I think that a whole new thread should be spun up because it is a topic worthy of discussion and/or tutorial. The short answer is to treat the shared libary as a 'vendor branch': http://svnbook.red-b....1/ch07s05.html Both the Server and Client should point to the same tag. Unfortunately, it's a manual process to update both the Server and Client to point to newer versions. It's not automatic where updating the Server will automatically update the client. This is deliberate to prevent "spooky action at a distance" where changing code in one project/branch automagically updates the code in another branch.
Was This Post Helpful? 0
  • +
  • -

#7 Skydiver  Icon User is offline

  • Code herder
  • member icon

Reputation: 3160
  • View blog
  • Posts: 9,529
  • Joined: 05-May 12

Re: What version control system to use

Posted 31 March 2013 - 08:12 PM

Just a quick update: apparently the SVN gurus recommend using svn:externals over using vendor branches when using shared code between projects. http://svnbook.red-b....externals.html Interestingly, though, they recommend pointing to specific versions within the external repository so that again you don't get the the "spooky action" effect, and that you'll have to explicitly point to newer versions when you are ready.
Was This Post Helpful? 0
  • +
  • -

#8 tlhIn`toq  Icon User is online

  • Please show what you have already tried when asking a question.
  • member icon

Reputation: 5316
  • View blog
  • Posts: 11,354
  • Joined: 02-June 10

Re: What version control system to use

Posted 01 April 2013 - 07:02 AM

I had done the svn:externals in my attempts to see if SVN would do what I needed. But that's how I wound up with duplication of shared projects. I may go through it again when I have time. I'm taking May off for vacation and can play then.
Was This Post Helpful? 0
  • +
  • -

#9 andrewsw  Icon User is offline

  • Fire giant boob nipple gun!
  • member icon

Reputation: 2875
  • View blog
  • Posts: 9,538
  • Joined: 12-December 12

Re: What version control system to use

Posted 01 April 2013 - 07:29 AM

Just on the subject of Git there is a cheatsheet (refcardz) available at DZone

http://refcardz.dzone.com/

They probably have one for the other alternatives as well.
Was This Post Helpful? 0
  • +
  • -

#10 baavgai  Icon User is offline

  • Dreaming Coder
  • member icon

Reputation: 5641
  • View blog
  • Posts: 12,357
  • Joined: 16-October 07

Re: What version control system to use

Posted 01 April 2013 - 07:48 AM

Interestingly looking link... but it has a register wall and I ain't going to cross it.

I'd vote git. For simple deployment I've used just a Windows Domain share. No special server needed, just a shared folder on a windows network. I ultimately wanted an SSH tunnel to some repos, still in windows land, and set up a Cygwin ssh server, which worked surprisingly well.

There are git extension hooks for VS that are nice and GUI centric. I found myself ignoring them after a time and just using the command line, but the option is there.

Microsoft, wonder of wonders, actually announced official support for git. They later announced that it would be in the form of TFS integration. TFS is the reason Microsoft developers use git, or anything else, of that matter. I haven't used it in years, but I recall the TFS experience as something I don't want to revisit.
Was This Post Helpful? 0
  • +
  • -

#11 markspend1  Icon User is offline

  • New D.I.C Head

Reputation: -1
  • View blog
  • Posts: 7
  • Joined: 09-April 13

Re: What version control system to use

Posted 09 April 2013 - 10:26 AM

Hey Guys according to that topic i have just began to use SVN for version control but there always is a lot of discuss going on about Version Control program like GIT, Sudden,SVN,CVS etc.Thanks!!
Was This Post Helpful? 0
  • +
  • -

#12 Skydiver  Icon User is offline

  • Code herder
  • member icon

Reputation: 3160
  • View blog
  • Posts: 9,529
  • Joined: 05-May 12

Re: What version control system to use

Posted 09 April 2013 - 07:34 PM

Okay, I have to ask since my Google-fu is weak. Can you provide a link to the version control system named Sudden?
Was This Post Helpful? 0
  • +
  • -

#13 blank_program  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 11
  • View blog
  • Posts: 280
  • Joined: 22-July 09

Re: What version control system to use

Posted 13 April 2013 - 10:24 AM

I have decided to use Mercurial but now it is a matter of finding out where I want to host my project. Either Google Code or Sourceforge.
Was This Post Helpful? 0
  • +
  • -

#14 Skydiver  Icon User is offline

  • Code herder
  • member icon

Reputation: 3160
  • View blog
  • Posts: 9,529
  • Joined: 05-May 12

Re: What version control system to use

Posted 14 April 2013 - 04:27 PM

Bitbucket.org is also an option, specially if it is open source and you need to give lots of people access.
Was This Post Helpful? 0
  • +
  • -

#15 jon.kiparsky  Icon User is offline

  • Pancakes!
  • member icon


Reputation: 7283
  • View blog
  • Posts: 12,079
  • Joined: 19-March 11

Re: What version control system to use

Posted 14 April 2013 - 07:41 PM

Or also if you want to keep it private and just give a few people access. They allow a certain number of free repositories - up to five, I think.
Was This Post Helpful? 0
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2