mercurial/store.py
changeset 46989 aed6ceaad6d7
parent 46895 6085b7f1536d
child 46990 0b569c75d180
equal deleted inserted replaced
46988:dc95c8ca171f 46989:aed6ceaad6d7
   387     b'requires',
   387     b'requires',
   388 ]
   388 ]
   389 
   389 
   390 REVLOG_FILES_MAIN_EXT = (b'.i', b'i.tmpcensored')
   390 REVLOG_FILES_MAIN_EXT = (b'.i', b'i.tmpcensored')
   391 REVLOG_FILES_OTHER_EXT = (b'.d', b'.n', b'.nd', b'd.tmpcensored')
   391 REVLOG_FILES_OTHER_EXT = (b'.d', b'.n', b'.nd', b'd.tmpcensored')
       
   392 # files that are "volatile" and might change between listing and streaming
       
   393 #
       
   394 # note: the ".nd" file are nodemap data and won't "change" but they might be
       
   395 # deleted.
       
   396 REVLOG_FILES_VOLATILE_EXT = (b'.n', b'.nd')
   392 
   397 
   393 
   398 
   394 def is_revlog(f, kind, st):
   399 def is_revlog(f, kind, st):
   395     if kind != stat.S_IFREG:
   400     if kind != stat.S_IFREG:
   396         return None
   401         return None
   399 
   404 
   400 def revlog_type(f):
   405 def revlog_type(f):
   401     if f.endswith(REVLOG_FILES_MAIN_EXT):
   406     if f.endswith(REVLOG_FILES_MAIN_EXT):
   402         return FILEFLAGS_REVLOG_MAIN
   407         return FILEFLAGS_REVLOG_MAIN
   403     elif f.endswith(REVLOG_FILES_OTHER_EXT):
   408     elif f.endswith(REVLOG_FILES_OTHER_EXT):
   404         return FILETYPE_FILELOG_OTHER
   409         t = FILETYPE_FILELOG_OTHER
       
   410         if f.endswith(REVLOG_FILES_VOLATILE_EXT):
       
   411             t |= FILEFLAGS_VOLATILE
       
   412         return t
   405 
   413 
   406 
   414 
   407 # the file is part of changelog data
   415 # the file is part of changelog data
   408 FILEFLAGS_CHANGELOG = 1 << 13
   416 FILEFLAGS_CHANGELOG = 1 << 13
   409 # the file is part of manifest data
   417 # the file is part of manifest data
   415 
   423 
   416 # the main entry point for a revlog
   424 # the main entry point for a revlog
   417 FILEFLAGS_REVLOG_MAIN = 1 << 1
   425 FILEFLAGS_REVLOG_MAIN = 1 << 1
   418 # a secondary file for a revlog
   426 # a secondary file for a revlog
   419 FILEFLAGS_REVLOG_OTHER = 1 << 0
   427 FILEFLAGS_REVLOG_OTHER = 1 << 0
       
   428 
       
   429 # files that are "volatile" and might change between listing and streaming
       
   430 FILEFLAGS_VOLATILE = 1 << 20
   420 
   431 
   421 FILETYPE_CHANGELOG_MAIN = FILEFLAGS_CHANGELOG | FILEFLAGS_REVLOG_MAIN
   432 FILETYPE_CHANGELOG_MAIN = FILEFLAGS_CHANGELOG | FILEFLAGS_REVLOG_MAIN
   422 FILETYPE_CHANGELOG_OTHER = FILEFLAGS_CHANGELOG | FILEFLAGS_REVLOG_OTHER
   433 FILETYPE_CHANGELOG_OTHER = FILEFLAGS_CHANGELOG | FILEFLAGS_REVLOG_OTHER
   423 FILETYPE_MANIFESTLOG_MAIN = FILEFLAGS_MANIFESTLOG | FILEFLAGS_REVLOG_MAIN
   434 FILETYPE_MANIFESTLOG_MAIN = FILEFLAGS_MANIFESTLOG | FILEFLAGS_REVLOG_MAIN
   424 FILETYPE_MANIFESTLOG_OTHER = FILEFLAGS_MANIFESTLOG | FILEFLAGS_REVLOG_OTHER
   435 FILETYPE_MANIFESTLOG_OTHER = FILEFLAGS_MANIFESTLOG | FILEFLAGS_REVLOG_OTHER