On Tue, Apr 08, 2008 at 01:45:30PM +1000, Anthony Towns wrote: > add-bar: > Previous-Changeset: add-foo > > Inserting at the end is trivial (add a new signed changeset, and update > LAST-CHANGESET), removing from the middle is easy-ish (replace the old > changeset with a new, empty one), and changing stuff in the middle is > possible but annoying, which seems entirely reasonable.
OTOH, in order to merge two trees, you'd need to go from: d---e / a---b---c and a---b---c \ x---y to d---e / \ a---b---c \ \ x---y (requiring resigning x) or d---e / \ a---b---c M \ / x---y with c having two descendents, and M having two parents; and possibly being able to have M as a no-op otherwise, so you can do merges without having to have an additional changeset. You'd also have to pull out a distinct ordering from that (presumably based on the order of the children in M -- an ordered, depth-first descent would probably be all it'd take). That assumes merging is actually something we care about, which it might not be. Cheers, aj
signature.asc
Description: Digital signature