Source control: some advice please

Cicero

Expert Member
Joined
Jul 20, 2010
Messages
2,286
Reaction score
14
Location
Coastal
I need suggestions please. All my previous source control experience has been with Microsoft Visual Sourcesafe.

I've now moved to a company without any form of source control, and its a scary thought - once you've experienced that piece of mind of using source control, you can't go back to the dark ages. So I feel its necessary to get something in ASAP.

Considering that I'm so comfortable using VSS, but its been discontinued, what similar programs would you suggest?

The current team is a handful of developers, and the type of files wouldn't necessarily just be source code, there will probably be documents and CAD drawings and that kind of thing as well, as well as some larger files.

I'm leaning towards SVN, and using TortoiseSVN. But Im not sure its suitable for such a small team?

Also there seem to a few available; CVS, Mercurial...
 
I used svn and tortoise for many years with a small team and it was fine but I went with Git about 4years ago and it was better for me so I would recommend that now.
I moved to a new company last year and am back on MS now using TFS and I cant say Git ever had any shortcomings compared to TFS.
 
Memorial (Hg) and Git are the "newer" generation of source control systems. They work different from the likes of SVN and TFS but at the end of the day they are better.

I've switched two teams from SVN/TFS to Hg/Git and Git is by far the best. Hg trumps Git when it comes to the command line's ease of use but that's about it. You'll also have tons of resources and 3rd party tools available to you should you go Git.

Couple it with something like Stash as your server and managing releases etc becomes quite easy from a source code perspective. A network fileshare to house repos will work just fine if you don't need to do super advanced stuff. Also very easy to setup and play with that way.

The problem with all of these systems though is that they are designed for text files and not binary data like CAD and docx files. They'll definitely work but there might be a system out there geared more towards your needs.
 
Last edited:
As for the TortoiseSVN alternatives for Git and Mercurial:

TortoiseHG is great
TortoiseGit sucks...it is a mess
SourceTree works for both, is very user friendly but can become slow if the repo grows a lot (I recommend starting with SourceTree to get used to Git/Hg)

Personally I use GitExtentions. It's not pretty but it is powerful and can do almost anything you want.
 
Last edited:
If the cad drawings are autodesk products you could investigate autodesk vault. They also store MS docs.
 
SVN is a centralised system more suited to a team of on-site developers. IMHO it is more secure in that the developers only need check out the modules that they are changing.

Git was designed for a distributed, off-site development team, so it is very convenient for developers who (for example) use laptops and work code at home.

Either will work for a team of any size: there is no such thing as a small team when it comes to SCM :)

Svn + TortoiseSvn will handle Word / Excel / etc. diffs & merges. CAD drawings will (at worst) be treated as binary blobs.

My recommendation - assuming that you have management buy-in - would be to define an entire CI strategy, then select the products best suited to the strategy.
 
Last edited:
there is no such thing as a small team when it comes to SCM :)

There is when licensing costs are involved

Git and the like can be used just like SVN in a centralized way...but maybe overkill for the non technical types. So maybe you are right and SVN is the best way to go for them.
 
Git is great, but probably not what you want to introduce to an organization that has never used software version control before. It does require some management to keep from becoming a complete mess, especially if a number of noobs are involved.

Keep it stupid, simple. Maybe SVN.
 
Actually, something like owncloud (or dropbox etc if you are allowed to store off site) might work better.
 
Git is great, but probably not what you want to introduce to an organization that has never used software version control before. It does require some management to keep from becoming a complete mess, especially if a number of noobs are involved.

Keep it stupid, simple. Maybe SVN.

So you went from suggesting not to use a source control, to suggesting a source control. :erm: SVN is utter garbage.
 
Heh, thanks guys.

SVN is a centralised system more suited to a team of on-site developers. IMHO it is more secure in that the developers only need check out the modules that they are changing.

Git was designed for a distributed, off-site development team, so it is very convenient for developers who (for example) use laptops and work code at home.

Either will work for a team of any size: there is no such thing as a small team when it comes to SCM :)

Svn + TortoiseSvn will handle Word / Excel / etc. diffs & merges. CAD drawings will (at worst) be treated as binary blobs.

My recommendation - assuming that you have management buy-in - would be to define an entire CI strategy, then select the products best suited to the strategy.
Excuse my ignorance, what is a CI strategy?

I think we'll try SVN + Tortoise, and see how it goes.
 
Heh, thanks guys.


Excuse my ignorance, what is a CI strategy?

I think we'll try SVN + Tortoise, and see how it goes.

Either corporate identity or continuous integration.
 
Actually, something like owncloud (or dropbox etc if you are allowed to store off site) might work better.

While I use Dropbox for various things, I definitely won't use it for my source code for work. They've been hacked a number of times and I wouldn't risk it.
 
While I use Dropbox for various things, I definitely won't use it for my source code for work. They've been hacked a number of times and I wouldn't risk it.


That's where OwnCloud comes in. Install it on internal server, install client on machines...work as if using dropbox.
 
Git is great, but probably not what you want to introduce to an organization that has never used software version control before. It does require some management to keep from becoming a complete mess, especially if a number of noobs are involved.

Keep it stupid, simple. Maybe SVN.

I just hired a newbie. I taught her to use Git in a few days. It barely interfered with work even. We're using Bitbucket. It's actually super easy if someone just shows you how.
 
I just hired a newbie. I taught her to use Git in a few days. It barely interfered with work even. We're using Bitbucket. It's actually super easy if someone just shows you how.
Same config here, and also with BitBucket and juniors. Was relatively painless.
 
Same config here, and also with BitBucket and juniors. Was relatively painless.

FYI OP: Bitbucket = Stash, except Stash can be installed on a local server.

Git is indeed relatively easy to pick up. I do have one or two guys that just don't get it (HTML monkeys). Constantly I see...

Code:
<<<<<<<<<< HEAD
...
=============
...
>>>>>>>>>>TAIL

...being committed. I've run out of ideas and now just refer to them as the stupid guys :(
 
Top
Sign up to the MyBroadband newsletter
X