--- a/mercurial/store.py Tue Apr 20 05:08:55 2021 +0200
+++ b/mercurial/store.py Tue Apr 20 04:27:03 2021 +0200
@@ -10,6 +10,7 @@
import errno
import functools
import os
+import re
import stat
from .i18n import _
@@ -395,6 +396,9 @@
# 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 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