monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-devel] re: cherrypicking on revctrl


From: William Uther
Subject: [Monotone-devel] re: cherrypicking on revctrl
Date: Mon, 11 Dec 2006 19:40:56 +1100


Hugo Cornelis wrote:

Monotone uses a DAG to track ancestry.  The nodes in the DAG are
annotated with SHA labels, identifying a revision.

I was wondering if it would be possible somehow, to annotate the edges
with SHAs that represent the changes between the nodes.

Then, a pluck operation, that imports a change from a different
branch, can register this operation in the _MTN directory, such that a
subsequent commit annotates the resulting edge in the DAG with the SHA
that is imported by the pluck, and the SHA that represents 'the total
change minus the plucked change'.

Afterwards, merges can possibly use the edge SHAs to increase the
granularity of the merge and avoid conflicts, especially conflicts
resulting from plucked changes.

I am not sure if this is possible, but perhaps it is worth a thought
and I decided to throw this out.

You're sort of describing Darcs. The problem is that 'plucking' patches requires altering them. That means that their hash changes. This is one of the things I like about DAG based revision control - you can hash things and be very careful about data security. You could just use the original hash as a UUID I guess. I'd rather try and record the information in the current structures if possible.

Cheers,

Will       :-}





reply via email to

[Prev in Thread] Current Thread [Next in Thread]