# HG changeset patch # User Martin von Zweigbergk # Date 1557511434 25200 # Node ID cdcebc897529520baca5ad88bd1294874c4e8064 # Parent 5265c7d47213bf11de44dd9f70e3bae2b40f8f96 overlaycontext: allow calling copydata() on clean context We should just report no copy if the context is clean. Differential Revision: https://phab.mercurial-scm.org/D6358 diff -r 5265c7d47213 -r cdcebc897529 mercurial/context.py --- a/mercurial/context.py Fri May 10 10:23:08 2019 -0700 +++ b/mercurial/context.py Fri May 10 11:03:54 2019 -0700 @@ -1913,7 +1913,7 @@ if self.isdirty(path): return self._cache[path]['copied'] else: - raise error.ProgrammingError('copydata() called on clean context') + return None def flags(self, path): if self.isdirty(path): diff -r 5265c7d47213 -r cdcebc897529 tests/test-rebase-inmemory.t --- a/tests/test-rebase-inmemory.t Fri May 10 10:23:08 2019 -0700 +++ b/tests/test-rebase-inmemory.t Fri May 10 11:03:54 2019 -0700 @@ -774,8 +774,14 @@ $ hg co -q 0 $ hg mv a b $ hg ci -qm 'rename a to b' - $ hg rebase -d 1 2>&1 | grep '** ProgrammingError' - ** ProgrammingError: copydata() called on clean context + $ hg rebase -d 1 + rebasing 2:b977edf6f839 "rename a to b" (tip) + merging a and b to b + saved backup bundle to $TESTTMP/rebase-rename/.hg/strip-backup/b977edf6f839-0864f570-rebase.hg + $ hg st --copies --change . + A b + a + R a $ cd .. Test rebasing when the file we are merging in destination is empty