views:

74

answers:

5

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.

A: 

SourceGear's Vault supports this, is free for one user, and runs cross platform by supporting Mono.

Josh
A: 

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."

Justice
+1  A: 

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.

Greg Hewgill
Each checkout being it's own repository is more inconvenient then the subversion model because to backup all my work I'd have to clone several repositorys instead of just one.
Jared
A: 

Bazaar VCS has checkouts model similar to one in SVN/CVS.

bialix
A: 

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:

  1. http://stackoverflow.com/questions/1981457/how-do-people-manage-changes-to-common-library-files-stored-across-mutiple-mercu
  2. http://stackoverflow.com/questions/2083393/mercurial-subrepos-how-do-you-create-them-and-how-do-they-work
  3. http://stackoverflow.com/questions/2213709/does-subprepos-feature-in-mercurial-1-4-x-ready-for-production-use

Apologies if I've misinterpreted your question.

Nick Pierpoint