[darcs-users] multiple heads
Keith Browne
tuxedo at htq.org
Mon Mar 31 03:25:32 UTC 2008
Declan Naughton wrote:
> Ok. I can see how Darcs is brilliant (the best) for keeping track of
> changes, but on what planet would we not like our RCS to provide a
> history of previous versions?
Revision control tools from the history-of-previous-versions school
force you to work with your repository as a linear, directed sequence of
changes. When several developers are working independently, this forces
you to create new intermediate versions for no reason other than to
handle the merging of those changes (in some arbitrary order) into the
head. With Darcs, patches can be handled in more than one order, so
there's more than one potential history.
If you want to see how a given repository looks in the absence of the
last N patches, you can do it with Darcs by cherry-picking the patches
you want in, or by reversing the ones you want excluded. You're not
restricted to just the last N patches, though; you can select a change
set which excludes any patch or patches you want. That lets you build
whichever snapshot or snapshots you want on the fly.
Viewing a project as a sequence of snapshots is an artifact of working
in a non-distributed fashion. In the distributed case, many patches can
be written independently. There's no one canonical way to order those
patches so as to make up a single, linear history which didn't exist in
the first place. Tools like CVS force you to construct a fake history,
but Darcs doesn't.
Keith Browne
tuxedo at htq.org
More information about the darcs-users
mailing list