[PATCH 0 of 1] Introduce backout --linear
Gilles Moris
gilles.moris at free.fr
Thu Sep 16 02:13:01 CDT 2010
On Tuesday 14 September 2010 10:49:12 pm Matt Mackall wrote:
> No, your reference to "rebase" in the description made me assume that
> your patch was based on an "hack the rebase extension" approach
> mentioned earlier.
>
> It's not a rebase.
>
> And I think so-called "linear backout" should become the default. There
> are no known advantages to the current approach and several known
> disadvantages.
Yes, "rebase" was a clumsy wording.
So, what I'm proposing:
- replace the current default (backout without option) with the new linear
merge approach. Note that this affects the CLI compatibility. I am not too
concerned though as I don't see the point using backout without --merge
currently (except the first times you use it, until you stick a post-it under
your screen "always use backout with --merge"). Also backout is usually not a
command that you usually script.
- keep exactly the same behavior for backout --merge as a fallback to the
previous "explicit merge" approach.
- if someone wants to restore the previous "default" behavior, just do a "hg
update -C ." after a "hg backout --merge"
Last question about the need to commit or not after backout.
Currently the situation is:
tip older
backout no-op no-op(1)
backout --merge no-op commit
no-op: already commit by backout
no-op(1): already commit by backout but needs to perform the merge manually
commit: need to commit the merge
With the new linear approach:
tip older
backout no-op commit
backout --merge no-op commit
I am not a fan of auto-commit, so I am more inclined having to always commit
explicitly. However, that would break the CLI even more, though backout shall
be pretty rare. Advices ?
Regards.
Gilles.
More information about the Mercurial-devel
mailing list