[Pkg-bazaar-commits] ./bzr/unstable r199: - use -1 for no_base in revfile
mbp at sourcefrog.net
mbp at sourcefrog.net
Fri Apr 10 07:44:03 UTC 2009
------------------------------------------------------------
revno: 199
committer: mbp at sourcefrog.net
timestamp: Sat 2005-04-09 12:55:38 +1000
message:
- use -1 for no_base in revfile
- better revfile dumper
modified:
bzrlib/revfile.py
-------------- next part --------------
=== modified file 'bzrlib/revfile.py'
--- a/bzrlib/revfile.py 2005-04-09 02:49:04 +0000
+++ b/bzrlib/revfile.py 2005-04-09 02:55:38 +0000
@@ -45,7 +45,7 @@
total 48 bytes.
-The header is also 48 bytes for tidyness.
+The header is also 48 bytes for tidyness and easy calculation.
Both the index and the text are only ever appended to; a consequence
is that sequence numbers are stable references. But not every
@@ -73,6 +73,7 @@
_HEADER = "bzr revfile v1\n"
_HEADER = _HEADER + ('\xff' * (_RECORDSIZE - len(_HEADER)))
+_NO_BASE = 0xFFFFFFFFL
class RevfileError(Exception):
pass
@@ -141,7 +142,7 @@
self.datafile.flush()
entry = sha.new(t).digest()
- entry += struct.pack(">llll12x", 0, 0, data_offset, len(t))
+ entry += struct.pack(">IIII12x", 0xFFFFFFFFL, 0, data_offset, len(t))
assert len(entry) == _RECORDSIZE
self.idxfile.write(entry)
@@ -159,7 +160,7 @@
if len(rec) != _RECORDSIZE:
raise RevfileError("short read of %d bytes getting index %d from %r"
% (len(rec), idx, self.basename))
- return struct.unpack(">20sllll12x", rec)
+ return struct.unpack(">20sIIII12x", rec)
@@ -185,14 +186,21 @@
open(self.indexfile(), "a").write(entry)
open(self.datafile(), "a").write(data)
- def dump(self):
- print '%-8s %-40s %-8s %-8s %-8s %-8s' \
- % tuple('idx sha1 base flags offset len'.split())
- print '-'*8, '-'*40, ('-'*8 + ' ')*4
+ def dump(self, f=sys.stdout):
+ f.write('%-8s %-40s %-8s %-8s %-8s %-8s\n'
+ % tuple('idx sha1 base flags offset len'.split()))
+ f.write('-------- ---------------------------------------- ')
+ f.write('-------- -------- -------- --------\n')
+
for i in range(len(self)):
rec = self[i]
- print "#%-7d %40s #%-7d %08x %8d %8d " \
- % (i, hexlify(rec[0]), rec[1], rec[2], rec[3], rec[4])
+ f.write("#%-7d %40s " % (i, hexlify(rec[0])))
+ if rec[1] == _NO_BASE:
+ f.write("(none) ")
+ else:
+ f.write("#%-7d " % rec[1])
+
+ f.write("%8x %8d %8d\n" % (rec[2], rec[3], rec[4]))
More information about the Pkg-bazaar-commits
mailing list