[PATCH STABLE] histedit: fix keep during --continue
Augie Fackler
raf at durin42.com
Fri May 29 09:23:31 CDT 2015
On Thu, May 28, 2015 at 08:49:39PM -0700, Durham Goode wrote:
> # HG changeset patch
> # User Durham Goode <durham at fb.com>
> # Date 1432870220 25200
> # Thu May 28 20:30:20 2015 -0700
> # Branch stable
> # Node ID 170ac339a0871ff4c33ed8e6a0eb15f83286db0c
> # Parent 884ef09cf658cf565c056ff75e675665fe520044
> histedit: fix keep during --continue
Queued for stable, thanks.
If it makes you feel any better, I always forget --keep is a thing.
>
> The --keep option was being serialized to the state file, but it wasn't actually
> being used when running a histedit --continue. This fixes that.
>
> diff --git a/hgext/histedit.py b/hgext/histedit.py
> --- a/hgext/histedit.py
> +++ b/hgext/histedit.py
> @@ -741,7 +741,7 @@ def _histedit(ui, repo, state, *freeargs
>
>
> replacements = []
> - keep = opts.get('keep', False)
> + state.keep = opts.get('keep', False)
>
> # rebuild state
> if goal == 'continue':
> @@ -810,7 +810,7 @@ def _histedit(ui, repo, state, *freeargs
> 'exactly one common root'))
> root = rr[0].node()
>
> - revs = between(repo, root, topmost, keep)
> + revs = between(repo, root, topmost, state.keep)
> if not revs:
> raise util.Abort(_('%s is not an ancestor of working directory') %
> node.short(root))
> @@ -834,7 +834,6 @@ def _histedit(ui, repo, state, *freeargs
>
> state.parentctxnode = parentctxnode
> state.rules = rules
> - state.keep = keep
> state.topmost = topmost
> state.replacements = replacements
>
> @@ -870,7 +869,7 @@ def _histedit(ui, repo, state, *freeargs
> for n in succs[1:]:
> ui.debug(m % node.short(n))
>
> - if not keep:
> + if not state.keep:
> if mapping:
> movebookmarks(ui, repo, mapping, state.topmost, ntm)
> # TODO update mq state
> diff --git a/tests/test-histedit-arguments.t b/tests/test-histedit-arguments.t
> --- a/tests/test-histedit-arguments.t
> +++ b/tests/test-histedit-arguments.t
> @@ -295,3 +295,32 @@ Test that trimming description using mul
> # m, mess = edit message without changing commit content
> #
> 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
> +
> +Test --continue with --keep
> +
> + $ hg strip -q -r . --config extensions.strip=
> + $ hg histedit '.^' -q --keep --commands - << EOF
> + > edit eb57da33312f 2 three
> + > pick f3cfcca30c44 4 x
> + > EOF
> + Make changes as needed, you may commit or record as needed now.
> + When you are finished, run hg histedit --continue to resume.
> + [1]
> + $ echo edit >> alpha
> + $ hg histedit -q --continue
> + $ hg log -G -T '{rev}:{node|short} {desc}'
> + @ 6:8fda0c726bf2 x
> + |
> + o 5:63379946892c three
> + |
> + | o 4:f3cfcca30c44 x
> + | |
> + | | o 3:2a30f3cfee78 four
> + | |/ ***
> + | | five
> + | o 2:eb57da33312f three
> + |/
> + o 1:579e40513370 two
> + |
> + o 0:6058cbb6cfd7 one
> +
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> https://selenic.com/mailman/listinfo/mercurial-devel
More information about the Mercurial-devel
mailing list