Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/revlog.py @ 31759:5b93c6fdb391
revlog: use raw revisions in clone
test-revlog-raw.py now shows "clone test passed", but there is more to fix.
author | Jun Wu <quark@fb.com> |
---|---|
date | Thu, 30 Mar 2017 18:24:23 -0700 |
parents | 5d11b5edcb0b |
children | ec48d57de110 |
comparison
equal
deleted
inserted
replaced
31758:5d11b5edcb0b | 31759:5b93c6fdb391 |
---|---|
2082 node = entry[7] | 2082 node = entry[7] |
2083 | 2083 |
2084 # (Possibly) reuse the delta from the revlog if allowed and | 2084 # (Possibly) reuse the delta from the revlog if allowed and |
2085 # the revlog chunk is a delta. | 2085 # the revlog chunk is a delta. |
2086 cachedelta = None | 2086 cachedelta = None |
2087 text = None | 2087 rawtext = None |
2088 if populatecachedelta: | 2088 if populatecachedelta: |
2089 dp = self.deltaparent(rev) | 2089 dp = self.deltaparent(rev) |
2090 if dp != nullrev: | 2090 if dp != nullrev: |
2091 cachedelta = (dp, str(self._chunk(rev))) | 2091 cachedelta = (dp, str(self._chunk(rev))) |
2092 | 2092 |
2093 if not cachedelta: | 2093 if not cachedelta: |
2094 text = self.revision(rev) | 2094 rawtext = self.revision(rev, raw=True) |
2095 | 2095 |
2096 ifh = destrevlog.opener(destrevlog.indexfile, 'a+', | 2096 ifh = destrevlog.opener(destrevlog.indexfile, 'a+', |
2097 checkambig=False) | 2097 checkambig=False) |
2098 dfh = None | 2098 dfh = None |
2099 if not destrevlog._inline: | 2099 if not destrevlog._inline: |
2100 dfh = destrevlog.opener(destrevlog.datafile, 'a+') | 2100 dfh = destrevlog.opener(destrevlog.datafile, 'a+') |
2101 try: | 2101 try: |
2102 destrevlog._addrevision(node, text, tr, linkrev, p1, p2, | 2102 destrevlog._addrevision(node, rawtext, tr, linkrev, p1, p2, |
2103 flags, cachedelta, ifh, dfh) | 2103 flags, cachedelta, ifh, dfh) |
2104 finally: | 2104 finally: |
2105 if dfh: | 2105 if dfh: |
2106 dfh.close() | 2106 dfh.close() |
2107 ifh.close() | 2107 ifh.close() |