[Pkg-bazaar-commits] ./bzr/unstable r944: - refactor member names in Weave code
Martin Pool
mbp at sourcefrog.net
Fri Apr 10 08:21:31 UTC 2009
------------------------------------------------------------
revno: 944
committer: Martin Pool <mbp at sourcefrog.net>
timestamp: Mon 2005-07-18 10:38:13 -0300
message:
- refactor member names in Weave code
modified:
bzrlib/weave.py
bzrlib/weavefile.py
tools/testweave.py
-------------- next part --------------
=== modified file 'bzrlib/weave.py'
--- a/bzrlib/weave.py 2005-07-18 13:12:58 +0000
+++ b/bzrlib/weave.py 2005-07-18 13:38:13 +0000
@@ -113,7 +113,7 @@
the version-id is used to reference it in the larger world.
The weave is represented as a list mixing edit instructions and
- literal text. Each entry in _l can be either a string (or
+ literal text. Each entry in _weave can be either a string (or
unicode), or a tuple. If a string, it means that the given line
should be output in the currently active revisions.
@@ -157,10 +157,10 @@
should be no way to get an earlier version deleting a later
version.
- _l
- Text of the weave.
+ _weave
+ Text of the weave; list of control instruction tuples and strings.
- _v
+ _parents
List of parents, indexed by version number.
It is only necessary to store the minimal set of parents for
each version; the parent's parents are implied.
@@ -169,19 +169,19 @@
List of hex SHA-1 of each version, or None if not recorded.
"""
- __slots__ = ['_l', '_v', '_sha1s']
+ __slots__ = ['_weave', '_parents', '_sha1s']
def __init__(self):
- self._l = []
- self._v = []
+ self._weave = []
+ self._parents = []
self._sha1s = []
def __eq__(self, other):
if not isinstance(other, Weave):
return False
- return self._v == other._v \
- and self._l == other._l
+ return self._parents == other._parents \
+ and self._weave == other._weave
def __ne__(self, other):
@@ -201,7 +201,7 @@
self._check_versions(parents)
## self._check_lines(text)
- new_version = len(self._v)
+ new_version = len(self._parents)
import sha
s = sha.new()
@@ -210,7 +210,7 @@
del s
# if we abort after here the weave will be corrupt
- self._v.append(frozenset(parents))
+ self._parents.append(frozenset(parents))
self._sha1s.append(sha1)
@@ -220,9 +220,9 @@
# even more specially, if we're adding an empty text we
# need do nothing at all.
if text:
- self._l.append(('{', new_version))
- self._l.extend(text)
- self._l.append(('}', new_version))
+ self._weave.append(('{', new_version))
+ self._weave.extend(text)
+ self._weave.append(('}', new_version))
return new_version
@@ -235,7 +235,7 @@
ancestors = self.inclusions(parents)
- l = self._l
+ l = self._weave
# basis a list of (origin, lineno, line)
basis_lineno = []
@@ -249,7 +249,7 @@
return new_version
# add a sentinal, because we can also match against the final line
- basis_lineno.append(len(self._l))
+ basis_lineno.append(len(self._weave))
# XXX: which line of the weave should we really consider
# matches the end of the file? the current code says it's the
@@ -283,8 +283,8 @@
# the deletion and insertion are handled separately.
# first delete the region.
if i1 != i2:
- self._l.insert(i1+offset, ('[', new_version))
- self._l.insert(i2+offset+1, (']', new_version))
+ self._weave.insert(i1+offset, ('[', new_version))
+ self._weave.insert(i2+offset+1, (']', new_version))
offset += 2
if j1 != j2:
@@ -292,7 +292,7 @@
# i2; we want to insert after this region to make sure
# we don't destroy ourselves
i = i2 + offset
- self._l[i:i] = ([('{', new_version)]
+ self._weave[i:i] = ([('{', new_version)]
+ text[j1:j2]
+ [('}', new_version)])
offset += 2 + (j2 - j1)
@@ -308,7 +308,7 @@
while v >= 0:
if v in i:
# include all its parents
- i.update(self._v[v])
+ i.update(self._parents[v])
v -= 1
return i
except IndexError:
@@ -317,7 +317,7 @@
def minimal_parents(self, version):
"""Find the minimal set of parents for the version."""
- included = self._v[version]
+ included = self._parents[version]
if not included:
return []
@@ -353,7 +353,7 @@
"""Check everything in the sequence of indexes is valid"""
for i in indexes:
try:
- self._v[i]
+ self._parents[i]
except IndexError:
raise IndexError("invalid version number %r" % i)
@@ -383,7 +383,7 @@
lineno = 0 # line of weave, 0-based
- for l in self._l:
+ for l in self._weave:
if isinstance(l, tuple):
c, v = l
isactive = None
@@ -429,7 +429,7 @@
WFE = WeaveFormatError
- for l in self._l:
+ for l in self._weave:
if isinstance(l, tuple):
c, v = l
isactive = None
@@ -485,15 +485,15 @@
def dump(self, to_file):
from pprint import pprint
- print >>to_file, "Weave._l = ",
- pprint(self._l, to_file)
- print >>to_file, "Weave._v = ",
- pprint(self._v, to_file)
+ print >>to_file, "Weave._weave = ",
+ pprint(self._weave, to_file)
+ print >>to_file, "Weave._parents = ",
+ pprint(self._parents, to_file)
def numversions(self):
- l = len(self._v)
+ l = len(self._parents)
assert l == len(self._sha1s)
return l
@@ -501,7 +501,7 @@
def check(self, progress_bar=None):
# check no circular inclusions
for version in range(self.numversions()):
- inclusions = list(self._v[version])
+ inclusions = list(self._parents[version])
if inclusions:
inclusions.sort()
if inclusions[-1] >= version:
@@ -680,20 +680,20 @@
# FIXME: doesn't work on pipes
weave_size = wf.tell()
print >>out, "weave file size %d bytes" % weave_size
- print >>out, "weave contains %d versions" % len(w._v)
+ print >>out, "weave contains %d versions" % len(w._parents)
total = 0
print '%6s %6s %8s %40s %20s' % ('ver', 'lines', 'bytes', 'sha1', 'parents')
for i in (6, 6, 8, 40, 20):
print '-' * i,
print
- for i in range(len(w._v)):
+ for i in range(len(w._parents)):
text = w.get(i)
lines = len(text)
bytes = sum((len(a) for a in text))
sha1 = w._sha1s[i]
print '%6d %6d %8d %40s' % (i, lines, bytes, sha1),
- for pv in w._v[i]:
+ for pv in w._parents[i]:
print pv,
print
total += bytes
@@ -818,7 +818,7 @@
elif cmd == 'parents':
w = readit()
- print ' '.join(map(str, w._v[int(argv[3])]))
+ print ' '.join(map(str, w._parents[int(argv[3])]))
elif cmd == 'plan-merge':
w = readit()
=== modified file 'bzrlib/weavefile.py'
--- a/bzrlib/weavefile.py 2005-07-18 11:37:33 +0000
+++ b/bzrlib/weavefile.py 2005-07-18 13:38:13 +0000
@@ -52,7 +52,7 @@
"""Write weave to file f."""
print >>f, FORMAT_1,
- for version, included in enumerate(weave._v):
+ for version, included in enumerate(weave._parents):
if included:
# mininc = weave.minimal_parents(version)
mininc = included
@@ -67,7 +67,7 @@
print >>f, 'w'
- for l in weave._l:
+ for l in weave._weave:
if isinstance(l, tuple):
assert l[0] in '{}[]'
print >>f, '%s %d' % l
@@ -105,9 +105,9 @@
ver += 1
if len(l) > 2:
- w._v.append(frozenset(map(int, l[2:].split(' '))))
+ w._parents.append(frozenset(map(int, l[2:].split(' '))))
else:
- w._v.append(frozenset())
+ w._parents.append(frozenset())
l = f.readline()[:-1]
assert l.startswith('1 ')
@@ -125,13 +125,13 @@
if l == 'W\n':
break
elif l.startswith('. '):
- w._l.append(l[2:]) # include newline
+ w._weave.append(l[2:]) # include newline
elif l.startswith(', '):
- w._l.append(l[2:-1]) # exclude newline
+ w._weave.append(l[2:-1]) # exclude newline
else:
assert l[0] in '{}[]', l
assert l[1] == ' ', l
- w._l.append((intern(l[0]), int(l[2:])))
+ w._weave.append((intern(l[0]), int(l[2:])))
return w
=== modified file 'tools/testweave.py'
--- a/tools/testweave.py 2005-07-18 11:24:34 +0000
+++ b/tools/testweave.py 2005-07-18 13:38:13 +0000
@@ -150,7 +150,7 @@
# self.log("changes to text3: " + pformat(list(k._delta(set([0, 1]), text3))))
- self.log("k._l=" + pformat(k._l))
+ self.log("k._weave=" + pformat(k._weave))
self.assertEqual(k.annotate(3),
[(0, 'line 1'),
@@ -192,7 +192,7 @@
ver = k.add([0], t)
self.log('final weave:')
- self.log('k._l=' + pformat(k._l))
+ self.log('k._weave=' + pformat(k._weave))
for i in range(len(texts)):
self.assertEqual(k.get(i+1),
@@ -206,9 +206,9 @@
def runTest(self):
k = Weave()
- k._v = [(),
+ k._parents = [(),
]
- k._l = [('{', 0),
+ k._weave = [('{', 0),
'first line',
('[', 0),
'deleted in 0',
@@ -230,10 +230,10 @@
def runTest(self):
k = Weave()
- k._v = [(),
+ k._parents = [(),
frozenset([0]),
]
- k._l = [('{', 0),
+ k._weave = [('{', 0),
'first line',
('[', 1),
'line to be deleted',
@@ -260,10 +260,10 @@
def runTest(self):
k = Weave()
- k._v = [frozenset(),
+ k._parents = [frozenset(),
frozenset([0]),
]
- k._l = [('{', 0),
+ k._weave = [('{', 0),
'first line',
('[', 1),
'line to be deleted',
@@ -294,9 +294,9 @@
def runTest(self):
k = Weave()
- k._v = [frozenset(),
+ k._parents = [frozenset(),
]
- k._l = ['bad line',
+ k._weave = ['bad line',
('{', 0),
'foo {',
('{', 1),
@@ -324,12 +324,12 @@
def runTest(self):
k = Weave()
- k._v = [frozenset(),
+ k._parents = [frozenset(),
frozenset([0]),
frozenset([0]),
frozenset([0,1,2]),
]
- k._l = [('{', 0),
+ k._weave = [('{', 0),
'foo {',
('{', 1),
' added in version 1',
@@ -357,12 +357,12 @@
def runTest(self):
k = Weave()
- k._v = [frozenset(),
+ k._parents = [frozenset(),
frozenset([0]),
frozenset([0]),
frozenset([0,1,2]),
]
- k._l = [('{', 0),
+ k._weave = [('{', 0),
'foo {',
('{', 1),
' added in version 1',
@@ -439,8 +439,8 @@
def runTest(self):
k = Weave()
- k._v = [frozenset(), frozenset([0])]
- k._l = [('{', 0),
+ k._parents = [frozenset(), frozenset([0])]
+ k._weave = [('{', 0),
"first line",
('}', 0),
('{', 1),
@@ -463,11 +463,11 @@
def runTest(self):
k = Weave()
- k._v = [frozenset(),
+ k._parents = [frozenset(),
frozenset([0]),
frozenset([0]),
]
- k._l = [('{', 0),
+ k._weave = [('{', 0),
"first line",
('}', 0),
('{', 1),
@@ -504,7 +504,7 @@
k.add([], text0)
k.add([0], text1)
- self.log('k._l=' + pformat(k._l))
+ self.log('k._weave=' + pformat(k._weave))
self.assertEqual(k.get(0), text0)
self.assertEqual(k.get(1), text1)
@@ -541,7 +541,7 @@
self.assertEqual(list(k.inclusions([3])),
[0, 1, 2, 3])
- self.log('k._l=' + pformat(k._l))
+ self.log('k._weave=' + pformat(k._weave))
self.check_read_write(k)
@@ -597,7 +597,7 @@
k.add([0], texts[1])
k.add([0], texts[2])
- self.log('k._l=' + pformat(k._l))
+ self.log('k._weave=' + pformat(k._weave))
m = list(k.mash_iter([0, 1, 2]))
@@ -645,7 +645,7 @@
ver = k.add(list(parents), t)
parents.add(ver)
- self.log("k._l=" + pformat(k._l))
+ self.log("k._weave=" + pformat(k._weave))
for i, t in enumerate(texts):
self.assertEqual(k.get(i), t)
More information about the Pkg-bazaar-commits
mailing list