Mercurial > public > mercurial-scm > hg
comparison mercurial/changelog.py @ 6750:fb42030d79d6
add __len__ and __iter__ methods to repo and revlog
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Thu, 26 Jun 2008 14:35:50 -0500 |
parents | d60aa0308b02 |
children | f67d1468ac50 |
comparison
equal
deleted
inserted
replaced
6749:51b0e799352f | 6750:fb42030d79d6 |
---|---|
80 | 80 |
81 def delayupdate(self): | 81 def delayupdate(self): |
82 "delay visibility of index updates to other readers" | 82 "delay visibility of index updates to other readers" |
83 self._realopener = self.opener | 83 self._realopener = self.opener |
84 self.opener = self._delayopener | 84 self.opener = self._delayopener |
85 self._delaycount = self.count() | 85 self._delaycount = len(self) |
86 self._delaybuf = [] | 86 self._delaybuf = [] |
87 self._delayname = None | 87 self._delayname = None |
88 | 88 |
89 def finalize(self, tr): | 89 def finalize(self, tr): |
90 "finalize index updates" | 90 "finalize index updates" |
106 if not name == self.indexfile: | 106 if not name == self.indexfile: |
107 return fp | 107 return fp |
108 # if we're doing an initial clone, divert to another file | 108 # if we're doing an initial clone, divert to another file |
109 if self._delaycount == 0: | 109 if self._delaycount == 0: |
110 self._delayname = fp.name | 110 self._delayname = fp.name |
111 if not self.count(): | 111 if not len(self): |
112 # make sure to truncate the file | 112 # make sure to truncate the file |
113 mode = mode.replace('a', 'w') | 113 mode = mode.replace('a', 'w') |
114 return self._realopener(name + ".a", mode) | 114 return self._realopener(name + ".a", mode) |
115 # otherwise, divert to memory | 115 # otherwise, divert to memory |
116 return appender(fp, self._delaybuf) | 116 return appender(fp, self._delaybuf) |
190 extra = self.encode_extra(extra) | 190 extra = self.encode_extra(extra) |
191 parseddate = "%s %s" % (parseddate, extra) | 191 parseddate = "%s %s" % (parseddate, extra) |
192 list.sort() | 192 list.sort() |
193 l = [hex(manifest), user, parseddate] + list + ["", desc] | 193 l = [hex(manifest), user, parseddate] + list + ["", desc] |
194 text = "\n".join(l) | 194 text = "\n".join(l) |
195 return self.addrevision(text, transaction, self.count(), p1, p2) | 195 return self.addrevision(text, transaction, len(self), p1, p2) |