Show More
@@ -17,7 +17,7 b' import changegroup, util, os, struct, bz' | |||||
17 | import localrepo, changelog, manifest, filelog, revlog |
|
17 | import localrepo, changelog, manifest, filelog, revlog | |
18 |
|
18 | |||
19 | class bundlerevlog(revlog.revlog): |
|
19 | class bundlerevlog(revlog.revlog): | |
20 |
def __init__(self, opener, indexfile, |
|
20 | def __init__(self, opener, indexfile, bundlefile, | |
21 | linkmapper=None): |
|
21 | linkmapper=None): | |
22 | # How it works: |
|
22 | # How it works: | |
23 | # to retrieve a revision, we need to know the offset of |
|
23 | # to retrieve a revision, we need to know the offset of | |
@@ -28,7 +28,7 b' class bundlerevlog(revlog.revlog):' | |||||
28 | # len(index[r]). If the tuple is bigger than 7, it is a bundle |
|
28 | # len(index[r]). If the tuple is bigger than 7, it is a bundle | |
29 | # (it is bigger since we store the node to which the delta is) |
|
29 | # (it is bigger since we store the node to which the delta is) | |
30 | # |
|
30 | # | |
31 |
revlog.revlog.__init__(self, opener, indexfile |
|
31 | revlog.revlog.__init__(self, opener, indexfile) | |
32 | self.bundlefile = bundlefile |
|
32 | self.bundlefile = bundlefile | |
33 | self.basemap = {} |
|
33 | self.basemap = {} | |
34 | def chunkpositer(): |
|
34 | def chunkpositer(): | |
@@ -140,20 +140,19 b' class bundlerevlog(revlog.revlog):' | |||||
140 | class bundlechangelog(bundlerevlog, changelog.changelog): |
|
140 | class bundlechangelog(bundlerevlog, changelog.changelog): | |
141 | def __init__(self, opener, bundlefile): |
|
141 | def __init__(self, opener, bundlefile): | |
142 | changelog.changelog.__init__(self, opener) |
|
142 | changelog.changelog.__init__(self, opener) | |
143 |
bundlerevlog.__init__(self, opener, self.indexfile, |
|
143 | bundlerevlog.__init__(self, opener, self.indexfile, bundlefile) | |
144 | bundlefile) |
|
|||
145 |
|
144 | |||
146 | class bundlemanifest(bundlerevlog, manifest.manifest): |
|
145 | class bundlemanifest(bundlerevlog, manifest.manifest): | |
147 | def __init__(self, opener, bundlefile, linkmapper): |
|
146 | def __init__(self, opener, bundlefile, linkmapper): | |
148 | manifest.manifest.__init__(self, opener) |
|
147 | manifest.manifest.__init__(self, opener) | |
149 |
bundlerevlog.__init__(self, opener, self.indexfile, |
|
148 | bundlerevlog.__init__(self, opener, self.indexfile, bundlefile, | |
150 |
|
|
149 | linkmapper) | |
151 |
|
150 | |||
152 | class bundlefilelog(bundlerevlog, filelog.filelog): |
|
151 | class bundlefilelog(bundlerevlog, filelog.filelog): | |
153 | def __init__(self, opener, path, bundlefile, linkmapper): |
|
152 | def __init__(self, opener, path, bundlefile, linkmapper): | |
154 | filelog.filelog.__init__(self, opener, path) |
|
153 | filelog.filelog.__init__(self, opener, path) | |
155 |
bundlerevlog.__init__(self, opener, self.indexfile, |
|
154 | bundlerevlog.__init__(self, opener, self.indexfile, bundlefile, | |
156 |
|
|
155 | linkmapper) | |
157 |
|
156 | |||
158 | class bundlerepository(localrepo.localrepository): |
|
157 | class bundlerepository(localrepo.localrepository): | |
159 | def __init__(self, ui, path, bundlename): |
|
158 | def __init__(self, ui, path, bundlename): |
@@ -28,8 +28,7 b' def _string_unescape(text):' | |||||
28 |
|
28 | |||
29 | class changelog(revlog): |
|
29 | class changelog(revlog): | |
30 | def __init__(self, opener, defversion=REVLOGV0): |
|
30 | def __init__(self, opener, defversion=REVLOGV0): | |
31 |
revlog.__init__(self, opener, "00changelog.i", |
|
31 | revlog.__init__(self, opener, "00changelog.i", defversion) | |
32 | defversion) |
|
|||
33 |
|
32 | |||
34 | def decode_extra(self, text): |
|
33 | def decode_extra(self, text): | |
35 | extra = {} |
|
34 | extra = {} |
@@ -666,7 +666,7 b' def copy(ui, repo, *pats, **opts):' | |||||
666 |
|
666 | |||
667 | def debugancestor(ui, index, rev1, rev2): |
|
667 | def debugancestor(ui, index, rev1, rev2): | |
668 | """find the ancestor revision of two revisions in a given index""" |
|
668 | """find the ancestor revision of two revisions in a given index""" | |
669 |
r = revlog.revlog(util.opener(os.getcwd(), audit=False), index, |
|
669 | r = revlog.revlog(util.opener(os.getcwd(), audit=False), index, 0) | |
670 | a = r.ancestor(r.lookup(rev1), r.lookup(rev2)) |
|
670 | a = r.ancestor(r.lookup(rev1), r.lookup(rev2)) | |
671 | ui.write("%d:%s\n" % (r.rev(a), hex(a))) |
|
671 | ui.write("%d:%s\n" % (r.rev(a), hex(a))) | |
672 |
|
672 | |||
@@ -796,7 +796,7 b' def debugstate(ui, repo):' | |||||
796 | def debugdata(ui, file_, rev): |
|
796 | def debugdata(ui, file_, rev): | |
797 | """dump the contents of an data file revision""" |
|
797 | """dump the contents of an data file revision""" | |
798 | r = revlog.revlog(util.opener(os.getcwd(), audit=False), |
|
798 | r = revlog.revlog(util.opener(os.getcwd(), audit=False), | |
799 |
file_[:-2] + ".i", |
|
799 | file_[:-2] + ".i", 0) | |
800 | try: |
|
800 | try: | |
801 | ui.write(r.revision(r.lookup(rev))) |
|
801 | ui.write(r.revision(r.lookup(rev))) | |
802 | except KeyError: |
|
802 | except KeyError: | |
@@ -816,7 +816,7 b' def debugdate(ui, date, range=None, **op' | |||||
816 |
|
816 | |||
817 | def debugindex(ui, file_): |
|
817 | def debugindex(ui, file_): | |
818 | """dump the contents of an index file""" |
|
818 | """dump the contents of an index file""" | |
819 |
r = revlog.revlog(util.opener(os.getcwd(), audit=False), file_, |
|
819 | r = revlog.revlog(util.opener(os.getcwd(), audit=False), file_, 0) | |
820 | ui.write(" rev offset length base linkrev" + |
|
820 | ui.write(" rev offset length base linkrev" + | |
821 | " nodeid p1 p2\n") |
|
821 | " nodeid p1 p2\n") | |
822 | for i in xrange(r.count()): |
|
822 | for i in xrange(r.count()): | |
@@ -828,7 +828,7 b' def debugindex(ui, file_):' | |||||
828 |
|
828 | |||
829 | def debugindexdot(ui, file_): |
|
829 | def debugindexdot(ui, file_): | |
830 | """dump an index DAG as a .dot file""" |
|
830 | """dump an index DAG as a .dot file""" | |
831 |
r = revlog.revlog(util.opener(os.getcwd(), audit=False), file_, |
|
831 | r = revlog.revlog(util.opener(os.getcwd(), audit=False), file_, 0) | |
832 | ui.write("digraph G {\n") |
|
832 | ui.write("digraph G {\n") | |
833 | for i in xrange(r.count()): |
|
833 | for i in xrange(r.count()): | |
834 | node = r.node(i) |
|
834 | node = r.node(i) |
@@ -12,7 +12,6 b' class filelog(revlog):' | |||||
12 | def __init__(self, opener, path, defversion=REVLOG_DEFAULT_VERSION): |
|
12 | def __init__(self, opener, path, defversion=REVLOG_DEFAULT_VERSION): | |
13 | revlog.__init__(self, opener, |
|
13 | revlog.__init__(self, opener, | |
14 | "/".join(("data", self.encodedir(path + ".i"))), |
|
14 | "/".join(("data", self.encodedir(path + ".i"))), | |
15 | "/".join(("data", self.encodedir(path + ".d"))), |
|
|||
16 | defversion) |
|
15 | defversion) | |
17 |
|
16 | |||
18 | # This avoids a collision between a file named foo and a dir named |
|
17 | # This avoids a collision between a file named foo and a dir named |
@@ -38,8 +38,7 b' class manifest(revlog):' | |||||
38 | def __init__(self, opener, defversion=REVLOGV0): |
|
38 | def __init__(self, opener, defversion=REVLOGV0): | |
39 | self.mapcache = None |
|
39 | self.mapcache = None | |
40 | self.listcache = None |
|
40 | self.listcache = None | |
41 |
revlog.__init__(self, opener, "00manifest.i", |
|
41 | revlog.__init__(self, opener, "00manifest.i", defversion) | |
42 | defversion) |
|
|||
43 |
|
42 | |||
44 | def parselines(self, lines): |
|
43 | def parselines(self, lines): | |
45 | for l in lines.splitlines(1): |
|
44 | for l in lines.splitlines(1): |
@@ -311,8 +311,7 b' class revlog(object):' | |||||
311 | remove data, and can use some simple techniques to avoid the need |
|
311 | remove data, and can use some simple techniques to avoid the need | |
312 | for locking while reading. |
|
312 | for locking while reading. | |
313 | """ |
|
313 | """ | |
314 |
def __init__(self, opener, indexfile, d |
|
314 | def __init__(self, opener, indexfile, defversion=REVLOG_DEFAULT_VERSION): | |
315 | defversion=REVLOG_DEFAULT_VERSION): |
|
|||
316 | """ |
|
315 | """ | |
317 | create a revlog object |
|
316 | create a revlog object | |
318 |
|
317 | |||
@@ -320,7 +319,7 b' class revlog(object):' | |||||
320 | and can be used to implement COW semantics or the like. |
|
319 | and can be used to implement COW semantics or the like. | |
321 | """ |
|
320 | """ | |
322 | self.indexfile = indexfile |
|
321 | self.indexfile = indexfile | |
323 |
self.datafile = |
|
322 | self.datafile = indexfile[:-2] + ".d" | |
324 | self.opener = opener |
|
323 | self.opener = opener | |
325 |
|
324 | |||
326 | self.indexstat = None |
|
325 | self.indexstat = None |
General Comments 0
You need to be logged in to leave comments.
Login now