Mercurial > hg
changeset 50340:9f33d12f6f48 stable
rebase: do not cleanup the working copy when --dry-run is used (issue6802)
Since we did not touch the working copy, we don't need to clean it up. This
will avoid wiping exiting changes out.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 13 Apr 2023 04:12:31 +0200 |
parents | b469c5ceaa85 |
children | 698ffff7024b |
files | hgext/rebase.py tests/test-rebase-dry-run.t |
diffstat | 2 files changed, 14 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/rebase.py Tue Apr 11 17:06:08 2023 +0200 +++ b/hgext/rebase.py Thu Apr 13 04:12:31 2023 +0200 @@ -838,6 +838,7 @@ cleanup = False if cleanup: + if rebased: strippoints = [ c.node() for c in repo.set(b'roots(%ld)', rebased) @@ -846,13 +847,17 @@ updateifonnodes = set(rebased) updateifonnodes.update(self.destmap.values()) - if not dryrun and not confirm: + if not confirm: + # note: when dry run is set the `rebased` and `destmap` + # variables seem to contain "bad" contents, so do not + # rely on them. As dryrun does not need this part of + # the cleanup, this is "fine" updateifonnodes.add(self.originalwd) shouldupdate = repo[b'.'].rev() in updateifonnodes # Update away from the rebase if necessary - if shouldupdate: + if not dryrun and shouldupdate: mergemod.clean_update(repo[self.originalwd]) # Strip from the first rebased revision
--- a/tests/test-rebase-dry-run.t Tue Apr 11 17:06:08 2023 +0200 +++ b/tests/test-rebase-dry-run.t Thu Apr 13 04:12:31 2023 +0200 @@ -83,17 +83,15 @@ committing changelog rebase merging completed dry-run rebase completed successfully; run without -n/--dry-run to perform this rebase - resolving manifests (known-bad-output !) - getting f03.txt (known-bad-output !) f03 changes are lost $ hg st - M f03.txt (missing-correct-output !) + M f03.txt $ hg diff - diff -r ab62441498e5 f03.txt (missing-correct-output !) - --- a/f03.txt Thu Jan 01 00:00:00 1970 +0000 (missing-correct-output !) - +++ b/f03.txt Thu Jan 01 00:00:00 1970 +0000 (missing-correct-output !) - @@ -1,1 +1,2 @@ (missing-correct-output !) - three (missing-correct-output !) - +add-to-three (missing-correct-output !) + diff -r ab62441498e5 f03.txt + --- a/f03.txt Thu Jan 01 00:00:00 1970 +0000 + +++ b/f03.txt Thu Jan 01 00:00:00 1970 +0000 + @@ -1,1 +1,2 @@ + three + +add-to-three