I have a home project that really needs to be in Source Control. I tried installing Subversion, which I have some experience with, but couldn\'t get it working. I don\'t parti
Don't be scared of by git
. It has gotten far easier to use than it used to be!
It fits all your requirements (open source/free/run on Win32/have a GUI, which is included), and there are lots of good resources available.
As a really basic guide, using the command line (the "Git GUI" should be pretty self explanatory):
mkdir myrepo
- make a new directory, this could be an existing dir with your code in it
git init
- makes the directory into a git repository. this basically adds a .git/
folder to the current directory. This is like using VisualSVN, creating a new repository then checking it out to a working directory (just without the servervim myfile.txt
- make a new file, if you have existing files, you obviously can skip thisgit add myfile.txt
- start tracking the new file (similar to svn add
'ing a file)git commit
- commits whatever you have run git add
on...and that's it. You have a version tracked file! When you change the file, you do git add myfile.txt
again to "stage" the changes, then commit to add all the staged files into a commit.
It's slightly different to how SVN works. With SVN, you commit a file, and it gets sent to the server. With git, you stage a file (or multiple files, or even bits of a file, which is very useful), then commit them.
You can do all of the above easily (including creating repositories, staging specific lines in a file) in Git GUI.
On Windows, install msysgit.
Then, if you don't mind spending $9, watch the Peepcode GIT episode for a comprehensive overview of what git is, how it works, and how to use it.
Alternatively, GitCasts are also a very good (free) set of screencasts, which cover most of the basic stuff. Watch the ones you think would be useful to you, I would recommend watching the setting up, then normal workflow, then GIT on windows
Finally, GIT Magic is a great guide to doing everything with git. I use it a lot, despite having used git a lot over the last year or so (it's useful for answering "how do I..." things you forget. Say "how do I recover a lost commit", "how do I reset the repository to 4 revisions back")
I would also recommend playing around with GitHub. It's a very nice to use git-hosting site. When you create a new repository, it gives you the list of commands to make a new repository, and push your changes to to github (something I didn't really cover - the distributed workflow gitcasts, the peepcode episode and git magic all cover this really well)
I personally use SourceGear's Vault product, it is free for single user access, and was a breeze to setup, and it has a GUI admin client as well as VS Integration.
Someone mentioned Git; I'll mention Mercurial with TortoiseHg.
The only options I'm aware of that meet your requirements are CVS and SVN. Of those 2, I would recommend SVN. I know you've already tried it without success, so perhaps you should try posting another question describing exactly what the problem was.
Our glorious leader posted a step-by-step guide describing how to setup SVN on windows, which might resolve your problem.
I've used both cvs and svn, to great effect, for home projects. Personally, I sound svn slightly harder to set up initially - defining the directory structure and using those URLs for everything seemed to be give more hassle than it should've. Although svn is generally seeing greater use throughout the industry, if you don't have any problems with cvs, I would worry too much about the distinction. The concepts surrounding source control (which mainly overlap between the two) are more important.