Mercurial > hg-stable
changeset 42345:313812cbf4ca
copies: fix duplicatecopies() with overlay context
The reasoning for this check is in 78d760aa3607 (duplicatecopies: do
not mark items not in the dirstate as copies, 2013-03-28). The check
was then moved to workingfilectx in 754b5117622f (context: add
workingfilectx.markcopied, 2017-10-15) and no corresponding check was
added later when overlayworkingfilectx was added. Rather than adding
the check there, this patch adds a more generic check on the callers
side and removes the check in workingfilectx.markcopied().
Differential Revision: https://phab.mercurial-scm.org/D6380
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Wed, 09 Jan 2019 15:54:45 -0800 |
parents | 70845eb656a9 |
children | b162229ebe0d |
files | mercurial/context.py mercurial/copies.py tests/test-rebase-inmemory.t |
diffstat | 3 files changed, 4 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/context.py Wed May 15 16:10:52 2019 -0700 +++ b/mercurial/context.py Wed Jan 09 15:54:45 2019 -0800 @@ -1773,8 +1773,7 @@ def markcopied(self, src): """marks this file a copy of `src`""" - if self._repo.dirstate[self._path] in "nma": - self._repo.dirstate.copy(src, self._path) + self._repo.dirstate.copy(src, self._path) def clearunknown(self): """Removes conflicting items in the working directory so that
--- a/mercurial/copies.py Wed May 15 16:10:52 2019 -0700 +++ b/mercurial/copies.py Wed Jan 09 15:54:45 2019 -0800 @@ -798,4 +798,5 @@ for dst, src in pathcopies(repo[fromrev], repo[rev]).iteritems(): if dst in exclude: continue - wctx[dst].markcopied(src) + if dst in wctx: + wctx[dst].markcopied(src)
--- a/tests/test-rebase-inmemory.t Wed May 15 16:10:52 2019 -0700 +++ b/tests/test-rebase-inmemory.t Wed Jan 09 15:54:45 2019 -0800 @@ -795,12 +795,10 @@ $ hg co -q 0 $ echo a2 > a $ hg ci -qm 'modify a' -BROKEN: obviously... $ hg rebase -r . -d 1 --collapse rebasing 2:41c4ea50d4cf "modify a" (tip) merging b and a to b - abort: a@b977edf6f839: not found in manifest! - [255] + saved backup bundle to $TESTTMP/rebase-rename-collapse/.hg/strip-backup/41c4ea50d4cf-b90b7994-rebase.hg $ cd .. Test rebasing when the file we are merging in destination is empty