mirror of
https://github.com/facebook/sapling.git
synced 2024-10-08 07:49:11 +03:00
strip: move tree strip logic to it's own function
This will allow external extensions to modify tree strip behavior more precisely.
This commit is contained in:
parent
53fada2d33
commit
7f29b67f6b
@ -165,13 +165,8 @@ def strip(ui, repo, nodelist, backup=True, topic='backup'):
|
||||
tr.startgroup()
|
||||
cl.strip(striprev, tr)
|
||||
mfst.strip(striprev, tr)
|
||||
if 'treemanifest' in repo.requirements: # safe but unnecessary
|
||||
# otherwise
|
||||
for unencoded, encoded, size in repo.store.datafiles():
|
||||
if (unencoded.startswith('meta/') and
|
||||
unencoded.endswith('00manifest.i')):
|
||||
dir = unencoded[5:-12]
|
||||
repo.manifestlog._revlog.dirlog(dir).strip(striprev, tr)
|
||||
striptrees(repo, tr, striprev, files)
|
||||
|
||||
for fn in files:
|
||||
repo.file(fn).strip(striprev, tr)
|
||||
tr.endgroup()
|
||||
@ -240,6 +235,15 @@ def strip(ui, repo, nodelist, backup=True, topic='backup'):
|
||||
# extensions can use it
|
||||
return backupfile
|
||||
|
||||
def striptrees(repo, tr, striprev, files):
|
||||
if 'treemanifest' in repo.requirements: # safe but unnecessary
|
||||
# otherwise
|
||||
for unencoded, encoded, size in repo.store.datafiles():
|
||||
if (unencoded.startswith('meta/') and
|
||||
unencoded.endswith('00manifest.i')):
|
||||
dir = unencoded[5:-12]
|
||||
repo.manifestlog._revlog.dirlog(dir).strip(striprev, tr)
|
||||
|
||||
def rebuildfncache(ui, repo):
|
||||
"""Rebuilds the fncache file from repo history.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user