[darcs-users] Per-directory version control

Kenneth Knowles kknowles at uclink.berkeley.edu
Wed Mar 3 02:02:35 UTC 2004


Hi Sean,

If I recall, arch has some commands to handle this situation.  Arch's solution
is for the exported directory to be its own arch project, which immediately
leads to solutions using darcs:

If you are using the 'push' model, then it seems like it would be very easy to
make a wrapper script that just pushed to both places:

$ cd /path/to/foo
$ darcs push /path/to/foo-project/foo
$ darcs push /path/to/bar-language/foo

where /path/to/*/foo is not added to either project

If you are using a 'pull' model:

$ cd /path/to/foo-project/foo
$ darcs pull /path/to/foo
$ cd /path/to/bar-language/foo
$ darcs pull /path/to/foo

I just checked and didn't see any --repdir option to 'darcs pull', but it would
reduce the second example to two commands.

The push model seems more easily scriptable, assuming all the repositories are
on different machines.

I'm certainly no expert in darcs, version control or patch theory (by the way,
David, thank you for publicly formalizing it; it was sorely needed... maybe it
existed somewhere in academia but your page was the first I'd seen of it), but I
didn't want this post to go unanswered (again?).

Kenn

On Tue, Mar 02, 2004 at 08:35:53AM -0500, Sean E. Russell wrote:
> I mentioned a use case briefly in an earlier email that didn't generate any 
> discussion, I'm going to ask a more pointed question about it.
> 
> I have a project, foo, which is a library for a programming language.  It has 
> a bunch of development oriented directories and files in it:
> 
> 	foo-project/
> 		test/
> 		src/
> 			foo/						<--- Exported
> 			testing/
> 			back-compatible-visitors/
> 		docs/
> 		design/
> 		todo/
> 		...
> 
> This library is also included with the core distribution of the language, but 
> not the entire project is included with the distribution, so I export the 
> src/foo directory to the language's CVS repository:
> 
> 	bar-language/
> 		src/
> 		test/
> 		libs/
> 			foo/						<--- Imported
> 		documentation/
> 		...
> 
> Obviously, it would be really handy for me to be able to use darcs to 
> cross-post changes; the usefulness of this would be even more evident if the 
> language's repository was a darcs, not a CVS, repository.
> 
> This is a practical example of a topic which has come up numerous times in 
> this mailing list, and which, I feel, has never been adequately addressed[1].  
> So, my question is:
> 
> What is the recommended process for expediting cross-pollination of 
> subdirectories in darcs repositories?
> 
> 
> 
> [1] Here I have to voice my frustration with mailman for not providing any 
> mechanism for searching the archive.
> 
> -- 
> ### SER   
> ### Deutsch|Esperanto|Francaise|Linux|XML|Java|Ruby|Aikido
> ### http://www.germane-software.com/~ser  jabber.com:ser  ICQ:83578737 
> ### GPG: http://www.germane-software.com/~ser/Security/ser_public.gpg






More information about the darcs-users mailing list