##// END OF EJS Templates
bundlerepo: fix raw handling in revision()...
Jun Wu -
r31836:4598e8f4 default
parent child Browse files
Show More
@@ -131,28 +131,28 b' class bundlerevlog(revlog.revlog):'
131 131 if node == nullid:
132 132 return ""
133 133
134 text = None
134 rawtext = None
135 135 chain = []
136 136 iterrev = rev
137 137 # reconstruct the revision if it is from a changegroup
138 138 while iterrev > self.repotiprev:
139 139 if self._cache and self._cache[1] == iterrev:
140 text = self._cache[2]
140 rawtext = self._cache[2]
141 141 break
142 142 chain.append(iterrev)
143 143 iterrev = self.index[iterrev][3]
144 if text is None:
145 text = self.baserevision(iterrev)
144 if rawtext is None:
145 rawtext = self.baserevision(iterrev)
146 146
147 147 while chain:
148 148 delta = self._chunk(chain.pop())
149 text = mdiff.patches(text, [delta])
149 rawtext = mdiff.patches(rawtext, [delta])
150 150
151 text, validatehash = self._processflags(text, self.flags(rev),
151 text, validatehash = self._processflags(rawtext, self.flags(rev),
152 152 'read', raw=raw)
153 153 if validatehash:
154 154 self.checkhash(text, node, rev=rev)
155 self._cache = (node, rev, text)
155 self._cache = (node, rev, rawtext)
156 156 return text
157 157
158 158 def baserevision(self, nodeorrev):
@@ -188,11 +188,33 b''
188 188 4 changesets found
189 189 $ hg --config extensions.strip= strip -r 2 --no-backup --force -q
190 190 $ hg -R bundle.hg log --stat -T '{rev} {desc}\n' base64 2>&1 | egrep -v '^(\*\*| )'
191 Traceback (most recent call last):
192 mercurial.mpatch.mpatchError: invalid patch
191 5 branching
192 base64 | 2 +-
193 1 files changed, 1 insertions(+), 1 deletions(-)
194
195 4 base64-4
196 base64 | 2 +-
197 1 files changed, 1 insertions(+), 1 deletions(-)
198
199 3 base64-three
200 base64 | 2 +-
201 1 files changed, 1 insertions(+), 1 deletions(-)
202
203 2 base64-two
204 base64 | 2 +-
205 1 files changed, 1 insertions(+), 1 deletions(-)
206
207 1 base64-single
208 base64 | 2 +-
209 1 files changed, 1 insertions(+), 1 deletions(-)
210
211 0 base64-0
212 base64 | 1 +
213 1 files changed, 1 insertions(+), 0 deletions(-)
214
193 215
194 216 $ hg bundle -R bundle.hg --base 1 bundle-again.hg -q 2>&1 | egrep -v '^(\*\*| )'
217 [1]
218 $ hg -R bundle-again.hg log --stat -T '{rev} {desc}\n' base64 2>&1 | egrep -v '^(\*\*| )'
195 219 Traceback (most recent call last):
196 mercurial.mpatch.mpatchError: invalid patch
197 $ hg -R bundle-again.hg log --stat -T '{rev} {desc}\n' base64 2>&1 | egrep -v '^(\*\*| )'
198 abort: repository bundle-again.hg not found!
220 TypeError: Incorrect padding
General Comments 0
You need to be logged in to leave comments. Login now