##// END OF EJS Templates
pep8 unionrepo
marcink -
r3578:f3283898 beta
parent child Browse files
Show More
@@ -17,6 +17,7 b' from mercurial.i18n import _'
17 from mercurial import util, mdiff, cmdutil, scmutil
17 from mercurial import util, mdiff, cmdutil, scmutil
18 from mercurial import localrepo, changelog, manifest, filelog, revlog
18 from mercurial import localrepo, changelog, manifest, filelog, revlog
19
19
20
20 class unionrevlog(revlog.revlog):
21 class unionrevlog(revlog.revlog):
21 def __init__(self, opener, indexfile, revlog2, linkmapper):
22 def __init__(self, opener, indexfile, revlog2, linkmapper):
22 # How it works:
23 # How it works:
@@ -31,16 +32,16 b' class unionrevlog(revlog.revlog):'
31
32
32 n = len(self)
33 n = len(self)
33 self.repotiprev = n - 1
34 self.repotiprev = n - 1
34 self.bundlerevs = set() # used by 'bundle()' revset expression
35 self.bundlerevs = set() # used by 'bundle()' revset expression
35 for rev2 in self.revlog2:
36 for rev2 in self.revlog2:
36 rev = self.revlog2.index[rev2]
37 rev = self.revlog2.index[rev2]
37 # rev numbers - in revlog2, very different from self.rev
38 # rev numbers - in revlog2, very different from self.rev
38 _start, _csize, _rsize, _base, linkrev, p1rev, p2rev, node = rev
39 _start, _csize, _rsize, _base, linkrev, p1rev, p2rev, node = rev
39
40
40 if linkmapper is None: # link is to same revlog
41 if linkmapper is None: # link is to same revlog
41 assert linkrev == rev2 # we never link back
42 assert linkrev == rev2 # we never link back
42 link = n
43 link = n
43 else: # rev must be mapped from repo2 cl to unified cl by linkmapper
44 else: # rev must be mapped from repo2 cl to unified cl by linkmapper
44 link = linkmapper(linkrev)
45 link = linkmapper(linkrev)
45
46
46 if node in self.nodemap:
47 if node in self.nodemap:
@@ -99,13 +100,17 b' class unionrevlog(revlog.revlog):'
99
100
100 def addrevision(self, text, transaction, link, p1=None, p2=None, d=None):
101 def addrevision(self, text, transaction, link, p1=None, p2=None, d=None):
101 raise NotImplementedError
102 raise NotImplementedError
103
102 def addgroup(self, revs, linkmapper, transaction):
104 def addgroup(self, revs, linkmapper, transaction):
103 raise NotImplementedError
105 raise NotImplementedError
106
104 def strip(self, rev, minlink):
107 def strip(self, rev, minlink):
105 raise NotImplementedError
108 raise NotImplementedError
109
106 def checksize(self):
110 def checksize(self):
107 raise NotImplementedError
111 raise NotImplementedError
108
112
113
109 class unionchangelog(unionrevlog, changelog.changelog):
114 class unionchangelog(unionrevlog, changelog.changelog):
110 def __init__(self, opener, opener2):
115 def __init__(self, opener, opener2):
111 changelog.changelog.__init__(self, opener)
116 changelog.changelog.__init__(self, opener)
@@ -114,6 +119,7 b' class unionchangelog(unionrevlog, change'
114 unionrevlog.__init__(self, opener, self.indexfile, changelog2,
119 unionrevlog.__init__(self, opener, self.indexfile, changelog2,
115 linkmapper)
120 linkmapper)
116
121
122
117 class unionmanifest(unionrevlog, manifest.manifest):
123 class unionmanifest(unionrevlog, manifest.manifest):
118 def __init__(self, opener, opener2, linkmapper):
124 def __init__(self, opener, opener2, linkmapper):
119 manifest.manifest.__init__(self, opener)
125 manifest.manifest.__init__(self, opener)
@@ -121,6 +127,7 b' class unionmanifest(unionrevlog, manifes'
121 unionrevlog.__init__(self, opener, self.indexfile, manifest2,
127 unionrevlog.__init__(self, opener, self.indexfile, manifest2,
122 linkmapper)
128 linkmapper)
123
129
130
124 class unionfilelog(unionrevlog, filelog.filelog):
131 class unionfilelog(unionrevlog, filelog.filelog):
125 def __init__(self, opener, path, opener2, linkmapper, repo):
132 def __init__(self, opener, path, opener2, linkmapper, repo):
126 filelog.filelog.__init__(self, opener, path)
133 filelog.filelog.__init__(self, opener, path)
@@ -132,10 +139,12 b' class unionfilelog(unionrevlog, filelog.'
132 def _file(self, f):
139 def _file(self, f):
133 self._repo.file(f)
140 self._repo.file(f)
134
141
142
135 class unionpeer(localrepo.localpeer):
143 class unionpeer(localrepo.localpeer):
136 def canpush(self):
144 def canpush(self):
137 return False
145 return False
138
146
147
139 class unionrepository(localrepo.localrepository):
148 class unionrepository(localrepo.localrepository):
140 def __init__(self, ui, path, path2):
149 def __init__(self, ui, path, path2):
141 localrepo.localrepository.__init__(self, ui, path)
150 localrepo.localrepository.__init__(self, ui, path)
@@ -176,7 +185,8 b' class unionrepository(localrepo.localrep'
176 return unionpeer(self)
185 return unionpeer(self)
177
186
178 def getcwd(self):
187 def getcwd(self):
179 return os.getcwd() # always outside the repo
188 return os.getcwd() # always outside the repo
189
180
190
181 def instance(ui, path, create):
191 def instance(ui, path, create):
182 if create:
192 if create:
@@ -194,7 +204,7 b' def instance(ui, path, create):'
194 if parentpath == cwd:
204 if parentpath == cwd:
195 parentpath = ''
205 parentpath = ''
196 else:
206 else:
197 cwd = os.path.join(cwd,'')
207 cwd = os.path.join(cwd, '')
198 if parentpath.startswith(cwd):
208 if parentpath.startswith(cwd):
199 parentpath = parentpath[len(cwd):]
209 parentpath = parentpath[len(cwd):]
200 if path.startswith('union:'):
210 if path.startswith('union:'):
General Comments 0
You need to be logged in to leave comments. Login now