D6194: remotefilelog: fix crash on `hg addremove` of added-but-deleted file
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Mon Apr 8 14:51:09 EDT 2019
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG91cc8dc866ed: remotefilelog: fix crash on `hg addremove` of added-but-deleted file (authored by martinvonz, committed by ).
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D6194?vs=14650&id=14697
REVISION DETAIL
https://phab.mercurial-scm.org/D6194
AFFECTED FILES
hgext/remotefilelog/__init__.py
tests/test-remotefilelog-prefetch.t
CHANGE DETAILS
diff --git a/tests/test-remotefilelog-prefetch.t b/tests/test-remotefilelog-prefetch.t
--- a/tests/test-remotefilelog-prefetch.t
+++ b/tests/test-remotefilelog-prefetch.t
@@ -197,6 +197,9 @@
$ mv x x2
$ mv y y2
$ mv z z2
+ $ echo a > a
+ $ hg add a
+ $ rm a
$ clearcache
$ hg addremove -s 50 > /dev/null
3 files fetched over 1 fetches - (3 misses, 0.00% hit ratio) over * (glob)
diff --git a/hgext/remotefilelog/__init__.py b/hgext/remotefilelog/__init__.py
--- a/hgext/remotefilelog/__init__.py
+++ b/hgext/remotefilelog/__init__.py
@@ -478,9 +478,10 @@
def findrenames(orig, repo, matcher, added, removed, *args, **kwargs):
if isenabled(repo):
files = []
- parentctx = repo['.']
+ pmf = repo['.'].manifest()
for f in removed:
- files.append((f, hex(parentctx.filenode(f))))
+ if f in pmf:
+ files.append((f, hex(pmf[f])))
# batch fetch the needed files from the server
repo.fileservice.prefetch(files)
return orig(repo, matcher, added, removed, *args, **kwargs)
To: martinvonz, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list