Windows Source Control for the Lone Developer?
bitFlipper asks: "I'm the sole developer of embedded software for a small company. Currently I'm maintaining about five different product lines, each with about 30K lines of code and 100+ files. At the moment I'm winging it without a version control system (using snapshots to CD-R), but this is an unhealthy state of affairs. The open source/big project model of many developers scattered across the globe doesn't apply here--it's just me. And since I have to provide my own tools, the budget for this is near zero. It also has to run on Win32. Oh, and the code I'm developing is not open source. I've looked at RCS (which is certainly simple, but maybe too simple) and Subversion (which is probably overkill). What can people recommend for a version control system that's free or low cost, Win32 compatible, and simple to set up, use and maintain?"
Sorry, I guess I should have explained. It's easy to set up - pretty straightforward if you only want to use it locally - it's as easy as
svnadmin create dbname
A huge plus is it's easy to export/import the database to a single (large) file, so you can actually see it does what it's supposed to.
It's written by the people who used to maintain CVS before noticing how annoying it was.
So it's not overkill, and satisfies all of your criteria.
CVS (Concurrent Versioning System) is definitely the way to go.
Here are some links to get you started:
CVS On Windows
WinCVS GUI (very nice, uses Python undeneath)
Tortoise CVS
CVS NT Wiki
Component CVS for Windows
All of these are CVS for Windows tools. CVS is a great revision control system.
- Vincit qui patitur.
CVS and subversion are just as complicated as each other. If anything, subversion is easier to use than CVS ever was, and certainly easier to administrate. You can't say that CVS is simpler than subversion as they follow the same model of use, but subversion is somewhat more streamlined and there are less gotcha's to bite you in the ass.
Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
Tortoise SVN is a version of the subversion client server that integrates with windows 2000, XP.
Right click on a file or folder to check it in, create a repository and just about everything else. It's actually very simple to use and you get all the power of a Subversion.
My team used to use Source Safe (6.0), and with just a few people it ended up being really horrible. The files are stored in a big binary (I think) mess which caused problems at least twice when SourceSafe decided it was corrup. Tool support (at the time) was pretty awful (outside of Visual Studio, and a few other programs). We moved to CVS. While CVS has some issues (handeling of binary files, etc) it works. I have had problems with Windows GUI tools though. The best we've found seems (ironically) to be LinCVS (lincvs.org). Also, subversion in local mode might work for you. Finally, I seem to recall that several major commercial tools have a free 1 or 2 user limited version.
Spoken like someone who has never used version control. Just because he's all on his lonesome isn't a good reason to miss out on all the fun:
With version control I can see the last three times I changed a specific file. I can show the diffs for my latest change at the touch of a button. I can keep seperate branches for release 1.2 and release 2.0. I can merge the bug fixes I apply to version 1.2 into 2.0.
It takes a while to understand the benefits of version control, but once you do, you'll use it for all your development, solo or otherwise.
# (/.);;
- : float -> float -> float =
... is probably what you want. A single GUI app, no Subversion server necessary. It uses a folder on your hard drive as the repository instead of a WebDAV server etc. It seems to implement Subversion internally or something...
TortoiseSVN is here
I use version control on my local Win32 machine to manage different versions of files. I've used both TortoiseCVS and TortoiseSVN in local repository mode, and I highly recommend TortoiseSVN over TortoiseCVS. Forget CVS, really! SVN is much better, even for personal use. It is lightweight, and you don't have to run any server -- the client manages everything for you. Here's information on running TortoiseSVN in local repository mode (with screenshots and all)
Quote:
"If you're not working in a team but working alone on a project and still want your work under version control you can also access a repository locally. This kind of repository access is also very handy if you just want to try out some Subversion commands and you don't want to risk screwing your "official" repository."
Save Maine's economy: write stuff down. All comments are exclusively my own, not my employer.