comparison mercurial/context.py @ 42290:e79aeb518aa1

overlayworkingctx: don't include added-then-deleted files in memctx If a file (such as a .orig file) is temporarily added to the overlayworkingctx and then deleted, it's still going to be in the _cache dict. In tomemctx(), we created the list of files from _cache.keys(), so the memctx.files() would include the temporary file. That was fine because the list of files was only used in localrepo.commitctx() (I think), where there's an extra filtering of incorrectly removed files (annotated with an inaccurate "update manifest" comment). I'd like to call memctx.files() in another case, but first we need to make it accurate. Differential Revision: https://phab.mercurial-scm.org/D6361
author Martin von Zweigbergk <martinvonz@google.com>
date Fri, 10 May 2019 14:27:22 -0700
parents cdcebc897529
children a13b30555ffb
comparison
equal deleted inserted replaced
42289:83b225fbd788 42290:e79aeb518aa1
2053 if parents[1] is None: 2053 if parents[1] is None:
2054 parents = (self._repo[parents[0]], None) 2054 parents = (self._repo[parents[0]], None)
2055 else: 2055 else:
2056 parents = (self._repo[parents[0]], self._repo[parents[1]]) 2056 parents = (self._repo[parents[0]], self._repo[parents[1]])
2057 2057
2058 files = self._cache.keys() 2058 files = self.files()
2059 def getfile(repo, memctx, path): 2059 def getfile(repo, memctx, path):
2060 if self._cache[path]['exists']: 2060 if self._cache[path]['exists']:
2061 return memfilectx(repo, memctx, path, 2061 return memfilectx(repo, memctx, path,
2062 self._cache[path]['data'], 2062 self._cache[path]['data'],
2063 'l' in self._cache[path]['flags'], 2063 'l' in self._cache[path]['flags'],