[darcs-users] Repository as a branch

Max Battcher me at worldmaker.net
Thu Mar 5 10:14:43 UTC 2009

Maurí­cio wrote:
> With that, added to the fact that I can't guarantee I'll be able
> to 'darcs push' every time I leave home or office, and I have
> the same problem.

_Why not_ force yourself to darcs push every time you switch repos? It's 
not a bad habit to get into.

Maybe I'm getting closer to what your issue is: you are thinking in a 
one-repository only allowed on the server or branching-is-hard 
mentality. In darcs branching on a server is ultimately rather cheap: 
darcs hardlinks all the files that it can (which is a surprising 
amount), and because of the hardlinks darcs can often ``darcs get`` 
another local copy of a repository _fast_.  You shouldn't have to ask 
administrators to create branches on a central server; you should 
instead focus on getting enough good "user" space that you can store 
your own repos as you see fit.  Set simple quotas on each dev and then 
let them store as many "central" repositories as they need access to.

So maybe a good workflow for you might be to have on the server a 
homeclone and officeclone repository that you can darcs push to every 
time you record a new patch.  (...and as simple clone repositories you 
shouldn't have to worry about conflicts nearly at all...)  You could 
even set up a simple script to call ``darcs push -a`` every so often to 
push to the appropriate clone (ie, homeclone from home, officeclone from 
the office) or when you shutdown your computer, etc.  Even if you can't 
get back to your home or office system your *clone repositories might 
always be accessible on your server space.  You might not even bother 
having a combined repository for both your home and office work stored 
centrally, preferring to do merges in quick short-lived local repos then 
push those directly to whatever your company's "main" repository might 
be. (...and there are centrally even more options out there for possible 

There are other solutions for how you might work around not having the 
ability to host your own repositories that you need access to, but I 
think the important thing here is that you should realize that if you 
are advocating for your company to use darcs you need to forget the 
CVS/SVN world where repositories are hard to setup (and maintain) and 
may only be set up once and realize that darcs repositories are easy to 
setup, easy to clone, easy to maintain, and quite common to need more 
than one.

Returning back to the conversation on commercial hosting I said that in 
my own plans I expect to offer virtually "unlimited" number of 
repositories and this is partly why. In a DVCS world like darcs (and you 
see this very thing with the other DVCS like git and hg to some extent) 
you should expect to have *at least one* centrally accessible repository 
*for every developer*, particularly those developers that might work 
from two or more machines and/or don't work in the same office together.

Maybe that helps your understanding of the situation?

--Max Battcher--

More information about the darcs-users mailing list