General Information on Version Control Software

Just looking for feedback and information regard source control software specfically


We have a multi-generational workforce, age range 20-50 years old, working on three different OS
Windows (different versions form xp-7)
Linux (Ubuntu)

Which is easiest for non-technical users?
Users need to be able to manage their own files, merge, and push content.

Is there one more suited to designers vs developers?

Is there one more suited to developers vs designers?

Which has the best GUI tools for Windows? MAC?

Any concerns over the software becoming obsolete? no longer being maintained?

I understand that "easiest", "more suited to", and "best" are opinions, and everyone has one, but I'm just looking for some feedback/input.

We currently have GIT in place, but the designers will not use it, we were given a terrible command line demo and the designers were not comfortable with using it.

Any input would be appreciated.

LVL 25
James RodgersWeb Applications DeveloperAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Bernard S.CTOCommented:
Users need to be able to manage their own files, merge, and push content.
I would think that only Git meets these criteria.

We have recently moved from SVN to Git precisely because of this problem.

You have an excellent presentation of Git here on EE at

Under Windows of all recent desktop kinds, if you install the standard Git you will get both Git Bash (a command line interface) a Git GUI (a graphical interface). I personally use the command line for "technical" issues (such has configuring a remote depot) and the gui for all other uses (indexing, committing, pushing): although the comand line allows to do that, I usually find it easier with the gui.

You might also consider using TortoiseGit (gui), but I find it great only to check status of repositories and easily spot and edit differences. other commands are too much "Tortoise" and not enough "Git"

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
My +1 for Git. I did use CVS(NT), SVN -- they were simply obsoleted by the distributed version control systems. They are also more difficult to manage than Git, in my opinion. Mercurial and Git are a kind of similar; however, Git is more widely used, and there is probably no chance for Mercurial to win. On the other hand, Mercurialians probably have no reason to migrate to Git camp -- unless they meet some project that uses Git.

The Git GUI is written in Tcl/Tk and is part of the standar distribution. Using 'git gui' and 'gitk' tools is just fine on all operating systems. Actually, I use them even though I am quite used to command lines. The gui toos make things visible and they help to understand...
James RodgersWeb Applications DeveloperAuthor Commented:

thanks for the input, i would like to leave the question open for a couple of more days to see if there is any other input.


Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

Chris Raisin(Retired Analyst/Programmer)Commented:
I have always found SVN great to use, and a big plus was its'c cost (free Open Source).
I had paid out nearly $100 for AgentSVN (which is quite professional and easy to use). Both SVN and AgentSVN have the same easy interface into .NET frontend (Visual Studio) with automatic check-in/check-out panels when team programmers are using the code. I cannot speak for other IDE installations since all my programming is .NET via Visual Studio.

I must say I am so glad you asked this question because now I have discovered GIT after "Googling" it - don't you hate that word? :-)

It looks quite interesting because of the comments made by the other experts and again because it is Open Source (always a big plus in my book - added possibilities for easily getting "tweaks" made to the system if needed and hundreds of support people out there! :-)  The only thing that worries me is that it may be a little awkward to use when there is a team working on code (in my case I work alone so it does not matter). It's use of "zip" files COULD be affected by new version of the ZIP controlling programs (syuch as PKZip) unless of course it has its own internal ZIP managers. Also comments in the referred article (referred by another expert above) indicates that if another programmer has changed "checked in code" when you check it out, you will be warnedit has changed since you last checked it out, but then the comments state you "have to work out where the changes have been made"!
I cannot verify that is the case, since I wouldassume it would be easy for it to highlight the changes (deleted/amended lines etc.) Anyway, I will investigate it further, but it would probably be ideal for a "solo" programmer.

I am not giving up on SVNAgent though since it works with SubVersion and is virtually "seemless" to the workling programmer (I have not dealt with Administrator requirments though in a shared environment).

Being a retrenched programmer out of work now for over 9 years and who now is only 2 years off a pension, cost is a big thing for me! Good luck with your final decision......Chris (Australia)
For MS Windows users (I also am, usually) the official distribution that can be dowlnoaded here is just fine. The page is official and contains also distributions for the other OS'es. Then nice "free" add-on is the on-line book by Scott Chacon "Pro Git" -- it is mostly command-line oriented, but it explains principles that you need to know also for work with other tools as they are buit on the top of the git core. The first three chapters are enough for the majority of users.

The git gui command and gitk are just fine GUI tools for normal use. Although you may want to use third party GUI tools -- see the references at

For Git and Microsoft Visual Studio, the Visual Studio 2013 supports Git out of the box. The support for older versions has the form of the add-on.
James RodgersWeb Applications DeveloperAuthor Commented:
Feedback has been good, thanks all.

Another question
do any of the source control software above  (GIT, mercurial, SVN) support locking? or are they all optimistic?
is locking worthwhile or more inconvenience than it's worth?

As a note, I have only used GIT.
Bernard S.CTOCommented:
@craisin: Git uses its own internal compressing tool, no worry then (and this would create problem over distribution if it was relying on other 3rd parties (more precisely not integrated) programs

you "have to work out where the changes have been made"!
It does not mean that you have to find where this happened, but that you will manually edit the changes.

Although it might seem slightly frightening at first, it is not the case in real life:
- I forgot to mention an essential part of Git, how it is easy to "branch" the code if you are making important changes, and to be able to switch very easily from one branch to the other: so if you are working on large changes, you will probably "branch" your development and will later merge them into the master branch... at which time of course you will be able to see all the changes involved
- if you get a conflict between your local version and the remote master (common to all participants); you can "hide" (stash) your change, update your local version, then unhide your changes and see how they fit with the new code.

This gives a great freedom to develop, and then later easily merge your changes.
Bernard S.CTOCommented:
jester: what do you mean "locking"?
This is somewhat used in SVN where you lock the files you are going to change... but in Git you change first and merge later, nobody is locked out of anyfile.
When different people / teams are working in parallel on changes over different sections of code, this will ususually be done thru branching and then later merge.

Branching in SVN is some kind of nightmare, not so in Git
James RodgersWeb Applications DeveloperAuthor Commented:
somewhat off topic (maybe)

we have multiple environments

can any of the software listed be used as a monitor to keep all three environments in sync and automatically flag any discrepancies? we have had instances of "immediate" fixes that have been applied directly to prod, doesn't happen often, maybe twice a year, but the person making the fix has not down synced the file(s), which has had some unfavourable consequences when doing another update and the "immediate" fix gets overwritten.
Chris Raisin(Retired Analyst/Programmer)Commented:
I have a feeling I read in the documentation of GIT that this was possible.
The best place to look at documentation on GIT is at: (Click on the "Chapters" link once the page loads....
Bernard S.CTOCommented:
Non authoritative comment: I believe it is possible thru branches and I plan to do that... but coming from SVN we are not here yet...
somewhat off topic ... can any of the software listed be used as a monitor to keep all three environments in sync

Actually, this is where Git shines. You possibly do not want to have tool that check if the branches are synchronized. Instead, you can merge one branch to another easily. It is also easy and usual to create a branch for solving a specific problem. The solution can be merged to whatever branch later, this means to your dev, preprod, and prod.

Have a look at "Use gitk to understand git" by Joshua Flanagan:
part 1 --
part 2 --

The workflow is usually organized more systematically -- have a look here
James RodgersWeb Applications DeveloperAuthor Commented:
I would like to thank everyone for their input; as this was more informational than technical there is no "correct" answer so don't be offended if your answer is "assisted"

there were three contributors, all will be awarded a share of the points.

thanks again.
Bernard S.CTOCommented:
B-) Glad we could help. Thx for the grade and points.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Version Control

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.