[RFC] uncommit and pull --overwrite emit merge directives?
Aaron Bentley
aaron.bentley at utoronto.ca
Wed Aug 15 16:47:01 BST 2007
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
John Arbash Meinel wrote:
> I'm a little concerned that it wouldn't be quite what people expect. But
> it should be possible. Basically, all you really need is a single
> revision id marker that people can pull back to. Whether we want to
> present that as 2 commands (pull --undo, uncommit --undo) and thus 2
> associated revision ids.
>
> It certainly can be done as a merge directive, though a single revision
> id is even simpler.
Yeah, it's just a question of how much we want to specialize for this.
> My concern with uncommit, is that if you commit, change things a little
> bit, uncommit, and then uncommit --undo, it may actually conflict with
> the things you changed. uncommit deals solely with the Branch pointer,
> the only changes to the working tree are tracking the pending merges. (I
> suppose this is a reason to have uncommit --undo, since it can handle
> those points).
Yes, avoiding WT changes was a reason for uncomit --undo.
> So my personal preference would be for uncommit and pull to just set a
> "this was the revision id before I did the command". Which can be stored
> in the .bzr/{branch/checkout/temp?} metadata.
Uncommit and pull are both branch operations. So it should be stored
with the branch data.
> I think "bzr revert" is a stronger case for having a real merge
> directive, because it removes uncommitted changes. (And possibly pull,
> since it does update the WT.)
I don't think merge directives are adequate for this. Revert does
operations that bundles cannot represent, because revert can affect
unversioned files and file_ids of missing files.
I've done a bit of work on serializing TreeTransforms, because that
*would* be able to represent all the operations revert does.
Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFGwx/10F+nu1YWqI0RAgjyAJwK2dur+X4ZbgcCTjCdzLS1ixUoXgCgh5HC
W9//olG5bac7bcEtd+vpLrU=
=RJ+g
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list