##// END OF EJS Templates
revlog: don't pass datafile as an argument
Matt Mackall -
r4257:1b5c38e9 default
parent child Browse files
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, datafile, bundlefile,
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, datafile)
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, self.datafile,
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, self.datafile,
148 bundlerevlog.__init__(self, opener, self.indexfile, bundlefile,
150 bundlefile, linkmapper)
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, self.datafile,
154 bundlerevlog.__init__(self, opener, self.indexfile, bundlefile,
156 bundlefile, linkmapper)
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", "00changelog.d",
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, "", 0)
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", file_, 0)
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_, "", 0)
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_, "", 0)
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", "00manifest.d",
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, datafile,
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 = 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