Reputation: 4294
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 particularly want to use SourceSafe. I'm a bit nervous about Git/Mercury as being somewhat cryptic, although this is only based on opinion rather than my experience.
Main requirements are:
Many thanks in advance!
edit: Just to let you all know, I installed VisualSVN and had it working in no time. Thanks for the great advice.
Upvotes: 8
Views: 3021
Reputation: 187499
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.
Upvotes: 0
Reputation: 18339
Perforce has a free two user version. Excellent product. http://www.perforce.com/
2012 Update: There now a free 20 user version, still excellent, with new features.
Upvotes: 5
Reputation: 169535
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)
Upvotes: 4
Reputation: 28825
Someone mentioned Git; I'll mention Mercurial with TortoiseHg.
Upvotes: 2
Reputation: 2953
I use Buildix from Thoughtworks. You can install it on a dedicated server or use it as a VM. Though it's more than just SVN: It also includes trac, Cruisecontrol and Mingle.
Upvotes: 0
Reputation: 1931
You should at least look at the open source fossil VCS www.fossil-scm.org it can work as both DVCS and a client server VCS.
Right now it does not have a GUI interface, but I am sure there will be one sometime in the future.
If you play around with fossil you will find that using command line VCS is not as complicated as it might seem.
Upvotes: 1
Reputation: 28735
I've been pondering this exact question, and have been seriously considering Bazaar. I can't tell you how good it is, not having used it, but you might want to check it out, as it looks promising. Similar to Git and Mercurial, but they claim it's much easier to set up and use.
Upvotes: 0
Reputation: 6485
You can use Subversion without the hassle of a server installation.
Just download TortoiseSVN and create a local repository in a folder that you prefer. Use the same client to do updates, commits...
Upvotes: 2
Reputation: 1850
I can't believe nobody has mentioned GIT.
It's ideal for what you are looking for. Each working directory becomes a repository. It's a simple case of changing to your project dir. Init'ing and Committing then start working. Has some neat features for branching and merging.
Upvotes: 3
Reputation: 3432
Another vote for Subversion+TortoiseSVN, although it doesn't play nicely on domestic NAS based on FAT32.
Upvotes: 0
Reputation: 40299
Well, frankly, I'd suggest sucking it up and doing SVN. It can be a rough start, but it will pay off.
Upvotes: 0
Reputation: 16018
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.
Upvotes: 1
Reputation: 42632
It's not really in vogue anymore but I've had great success using CVS for version control. I keep a 'code' folder with all my code snippets in various languages, as well as all my personal home projects in a CVS repository. CVS is older and doesn't work as well as other systems with renaming or restructuring the folders/files. On the flip side, the fact that it's been around so long means there are many ports and GUI applications for it, as well as integration packages for IDEs, etc. I've been very happy with it for the past several years that I've been using it, despite any shortcomings.
Upvotes: 1
Reputation: 150739
I know you mentioned you already tried Subversion and had some issues but you really can't beat the easy install & configuration of
Insanely easy to setup & maintain.
Use VisualSVN for the back-end and TortoiseSVN for the client and you'll be up and running in no time.
Plus you can always do an svndump of the VisualSVN repository if you want to switch to something else down the road.
Upvotes: 19
Reputation: 18397
I think SVN is really your best bet. Take a look at the documentation here about how to set it up.
I've set up a couple SVN repos on a windows box and never really had a problem especially when you use TortoiseSVN
Upvotes: 4
Reputation: 63126
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.
Upvotes: 3