I'm looking for a distributed source control system that will let me do a subversion type checkout. I have several different projects and would like to combine them into one repository. I'd like to be able to have working directorys though much as subversion does so each project doesn't have to be it's own repository. From looking at Mercurial this is not possible since any files have to be stored in a repository in order to track there changes. If anyone knows of a distributed source control system that will let me use working directorys I'd appreciate it.
SourceGear's Vault supports this, is free for one user, and runs cross platform by supporting Mono.
Part of the point of "distributed" in "distributed source control" is that all copies are equal - there are no "master" copies and no "slave" or "working" copies.
What you seem to be asking for is "distributed source control - but not really."
The fact that each checkout is its own repository shouldn't be any more inconvenient than the .svn
directories everywhere.
- CVS stores metadata (just a small amount) in a
CVS
directory, scattered everywhere - Subversion stores metadata (including the full base copy of every file) in a
.svn
directory, scattered everywhere - Git stores even more metadata (including the full history of every file) in a single
.git
directory
I consider that a Git checkout is more convenient than a Subversion checkout because there's only one .git
subdirectory to be concerned with. Also, a Git checkout is typically smaller than an equivalent Subversion checkout because all the historical revisions are stored in an efficient compressed format, rather than as individual uncompressed files.
Is this question about combining several different modules into a single project repository to make working easier?
In Subversion, this would be handled with svn:externals.
The equivalent in Mercurial is a nested repository.
The following questions might prove useful:
- http://stackoverflow.com/questions/1981457/how-do-people-manage-changes-to-common-library-files-stored-across-mutiple-mercu
- http://stackoverflow.com/questions/2083393/mercurial-subrepos-how-do-you-create-them-and-how-do-they-work
- http://stackoverflow.com/questions/2213709/does-subprepos-feature-in-mercurial-1-4-x-ready-for-production-use
Apologies if I've misinterpreted your question.