##// END OF EJS Templates
narrowrevlog: document excludeddir class and friends...
Augie Fackler -
r36110:ed4e68ef default
parent child Browse files
Show More
@@ -31,6 +31,16 b' def setup():'
31 31 pass
32 32
33 33 class excludeddir(manifest.treemanifest):
34 """Stand-in for a directory that is excluded from the repository.
35
36 With narrowing active on a repository that uses treemanifests,
37 some of the directory revlogs will be excluded from the resulting
38 clone. This is a huge storage win for clients, but means we need
39 some sort of pseudo-manifest to surface to internals so we can
40 detect a merge conflict outside the narrowspec. That's what this
41 class is: it stands in for a directory whose node is known, but
42 whose contents are unknown.
43 """
34 44 def __init__(self, dir, node):
35 45 super(excludeddir, self).__init__(dir)
36 46 self._node = node
@@ -48,6 +58,7 b' class excludeddir(manifest.treemanifest)'
48 58 return self
49 59
50 60 class excludeddirmanifestctx(manifest.treemanifestctx):
61 """context wrapper for excludeddir - see that docstring for rationale"""
51 62 def __init__(self, dir, node):
52 63 self._dir = dir
53 64 self._node = node
@@ -60,6 +71,15 b' class excludeddirmanifestctx(manifest.tr'
60 71 self._dir)
61 72
62 73 class excludedmanifestrevlog(manifest.manifestrevlog):
74 """Stand-in for excluded treemanifest revlogs.
75
76 When narrowing is active on a treemanifest repository, we'll have
77 references to directories we can't see due to the revlog being
78 skipped. This class exists to conform to the manifestrevlog
79 interface for those directories and proactively prevent writes to
80 outside the narrowspec.
81 """
82
63 83 def __init__(self, dir):
64 84 self._dir = dir
65 85
General Comments 0
You need to be logged in to leave comments. Login now