diff --git a/mercurial/store.py b/mercurial/store.py --- a/mercurial/store.py +++ b/mercurial/store.py @@ -389,7 +389,11 @@ def isrevlog(f, kind, st): - return kind == stat.S_IFREG and f[-2:] in (b'.i', b'.d', b'.n', b'.nd') + if kind != stat.S_IFREG: + return False + if f[-2:] in (b'.i', b'.d', b'.n'): + return True + return f[-3:] == b'.nd' class basicstore(object): diff --git a/tests/test-persistent-nodemap.t b/tests/test-persistent-nodemap.t --- a/tests/test-persistent-nodemap.t +++ b/tests/test-persistent-nodemap.t @@ -708,9 +708,11 @@ adding [s] 00manifest.n (70 bytes) adding [s] 00manifest.i (313 KB) adding [s] 00manifest.d (452 KB) + adding [s] 00manifest-*.nd (118 KB) (glob) adding [s] 00changelog.n (70 bytes) adding [s] 00changelog.i (313 KB) adding [s] 00changelog.d (360 KB) + adding [s] 00changelog-*.nd (118 KB) (glob) $ ls -1 stream-clone/.hg/store/ | egrep '00(changelog|manifest)(\.n|-.*\.nd)' 00changelog-*.nd (glob) 00changelog.n