[darcs-users] Questions about darcs (esp. branching)

Miles Gould miles at assyrian.org.uk
Thu Nov 11 15:15:13 UTC 2010


Hi everyone,

I stupidly volunteered to give a talk about DVCS to my local Perl
Mongers group tonight, and I have a few questions about darcs (which
I've used in the past, but not for anything very advanced). Eric Kow
suggested I ask them here - I hope that's OK.

1) Am I right in thinking that the "exponential merge" problem is now
(a) much rarer, (b) exponential in the number of conflicts rather than
the number of {patches nested on top of a conflicting patch}? That seems
to be what http://wiki.darcs.net/ConflictsFAQDarcs1 says, but I could be
misinterpreting.

2) What exactly is a "preparation branch"? I'm guessing that you have
two checkouts - "messy" and "preparation", say - do your actual work in
"messy" and then pull selectively from "messy" into "preparation" so you
get a nice flow of history before you push upstream (rather like a git
rebase --interactive, but more heavyweight). Or have I totally
misunderstood?

3) Do people really use spontaneous branches? This kind of "magic
string" stuff makes me really nervous, and is the kind of thing that
gave Perl programmers such a bad name!
[I'd also object that they're neither spontaneous nor branches, but
language is often funny like that.]

4) Are there plans to give darcs branch-in-place functionality like
Git's? I see that there was discussion of this last year
(http://lists.osuosl.org/pipermail/darcs-users/2009-July/020565.html) -
did anything come of it?

5) Slightly bigger question: how much does darcs' hashed-storage format
borrow from/share with git's repo format?

6) This is pretty clear from the release announcement, but I'd like to
sanity-check: is it now the case that the time taken to check out a repo
is now independent of the number of patches in that repo? Or is that
just with --lazy? What does it depend on? I'm guessing it's at least
O(n) in the number of bytes in the checkout.

Thanks very much!

Miles

-- 
There are four ways to defeat your opponent: break his sword, break his
technique, break his spirit, or come at him in the shower with a crowbar.
  -- Anonymous kendo sensei


More information about the darcs-users mailing list