mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
rage: read fsmonitor state from treestate
Summary: If treestate is in use, fsmonitor state is stored in the treestate, rather than in a separate fsmonitor.state file. Update rage to understand this. Reviewed By: quark-zju Differential Revision: D14131131 fbshipit-source-id: d80d766625d7915b6a76f66f33e763eed23677e9
This commit is contained in:
parent
04d098e28c
commit
23aa7bda11
@ -210,30 +210,27 @@ def readfsmonitorstate(repo):
|
||||
Based on file format version 4. See hgext/fsmonitor/state.py for real
|
||||
implementation.
|
||||
"""
|
||||
f = repo.localvfs("fsmonitor.state", "rb")
|
||||
versionbytes = f.read(4)
|
||||
version = struct.unpack(">I", versionbytes)[0]
|
||||
data = f.read()
|
||||
state = data.split("\0")
|
||||
hostname, clock, ignorehash = state[0:3]
|
||||
files = state[3:-1] # discard empty entry after final file
|
||||
numfiles = len(files)
|
||||
prettyfiles = "\n".join(files[:20])
|
||||
return """\
|
||||
version: %d
|
||||
hostname: %s
|
||||
clock: %s
|
||||
ignorehash: %s
|
||||
files (first 20 of %d):
|
||||
%s
|
||||
""" % (
|
||||
version,
|
||||
hostname,
|
||||
clock,
|
||||
ignorehash,
|
||||
numfiles,
|
||||
prettyfiles,
|
||||
)
|
||||
lines = []
|
||||
if "treestate" in repo.requirements:
|
||||
lines.append("from treestate")
|
||||
clock = repo.dirstate.getclock()
|
||||
lines.append("clock: %s" % clock)
|
||||
else:
|
||||
f = repo.localvfs("fsmonitor.state", "rb")
|
||||
versionbytes = f.read(4)
|
||||
version = struct.unpack(">I", versionbytes)[0]
|
||||
data = f.read()
|
||||
state = data.split("\0")
|
||||
hostname, clock, ignorehash = state[0:3]
|
||||
files = state[3:-1] # discard empty entry after final file
|
||||
numfiles = len(files)
|
||||
lines.append("version: %d" % version)
|
||||
lines.append("hostname: %s" % hostname)
|
||||
lines.append("clock: %s" % clock)
|
||||
lines.append("ignorehash: %s" % ignorehash)
|
||||
lines.append("files (first 20 of %d):" % numfiles)
|
||||
lines.extend(files[:20])
|
||||
return "\n".join(lines) + "\n"
|
||||
|
||||
|
||||
def _makerage(ui, repo, **opts):
|
||||
|
Loading…
Reference in New Issue
Block a user