diff --git a/mercurial/store.py b/mercurial/store.py --- a/mercurial/store.py +++ b/mercurial/store.py @@ -10,6 +10,7 @@ from __future__ import absolute_import import errno import functools import os +import re import stat from .i18n import _ @@ -395,6 +396,9 @@ REVLOG_FILES_OTHER_EXT = (b'.d', b'.n', # deleted. REVLOG_FILES_VOLATILE_EXT = (b'.n', b'.nd') +# some exception to the above matching +EXCLUDED = re.compile(b'.*undo\.[^/]+\.nd?$') + def is_revlog(f, kind, st): if kind != stat.S_IFREG: @@ -405,7 +409,7 @@ def is_revlog(f, kind, st): def revlog_type(f): if f.endswith(REVLOG_FILES_MAIN_EXT): return FILEFLAGS_REVLOG_MAIN - elif f.endswith(REVLOG_FILES_OTHER_EXT): + elif f.endswith(REVLOG_FILES_OTHER_EXT) and EXCLUDED.match(f) is None: t = FILETYPE_FILELOG_OTHER if f.endswith(REVLOG_FILES_VOLATILE_EXT): t |= FILEFLAGS_VOLATILE 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 @@ -988,8 +988,6 @@ Performe the mix of clone and full refre $ touch $HG_TEST_STREAM_WALKED_FILE_2 $ $RUNTESTDIR/testlib/wait-on-file 10 $HG_TEST_STREAM_WALKED_FILE_3 $ cat clone-output-2 - adding [s] undo.backup.00manifest.n (70 bytes) (known-bad-output !) - adding [s] undo.backup.00changelog.n (70 bytes) (known-bad-output !) adding [s] 00manifest.n (70 bytes) adding [s] 00manifest-*.nd (118 KB) (glob) adding [s] 00changelog.n (70 bytes)