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

Attachment: signature.asc
Description: Digital signature

Reply via email to