On 04/28/2011 12:19 AM, Ganesh Sittampalam wrote:
On 26/04/2011 12:17, Malcolm Wallace wrote:
On 25 Apr 2011, at 11:13, Andrew Coppin wrote:
On 24/04/2011 06:33 PM, Jason Dagit wrote:
This is because of a deliberate choice that was made by David Roundy.
In darcs, you never have multiple branches within a single darcs
repository directory tree.
Yes, this seems clear. I'm just wondering whether or not it's the best design
choice.
It seems to me to be a considerable insight. Branches and repositories are the
same thing. There is no need for two separate concepts. The main reason other
VCSes have two concepts is because one of them is often more efficiently
implemented (internally) than the other. But that's silly - how much better to
abstract over the mental clutter, and let the implementation decide how its
internals look!
So in darcs, two repositories on the same machine share the same files (like a
branch), but if they are on different machines, they have separate copies of
the files. The difference is a detail that you really don't need to know or
care about.
It does mean that you duplicate information. You have [nearly] the same set of
patches stored twice,
No, if on the same machine, the patches only appear once, it is just the index
that duplicates some information (I think). In fact just as if it were a
branch in another VCS.
Unfortunately, I don't think this is quite true, because being able to
switch between multiple branches in the same working directory means you
can reuse build products when switching branches. Depending on how
radical the branch shift is, this can be a substantial win, and it's the
main reason that darcs might in future implement in-repo branching of
some form.
There's also the fact that using in-repo branches means that all the
tooling doesn't have to rely on any (fs-specific) conventions for
finding branches.
As someone who has admin'd a reasonably large Bazaar setup (where branch
== directory similarly to Darcs) I can honestly say that this would be a
HUGE boon.
Cheers,
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe