1236 end = self.end(t) |
1236 end = self.end(t) |
1237 |
1237 |
1238 return node |
1238 return node |
1239 |
1239 |
1240 def strip(self, rev, minlink): |
1240 def strip(self, rev, minlink): |
1241 if self.count() == 0 or rev >= self.count(): |
1241 if self.count() == 0: |
1242 return |
1242 return |
1243 |
1243 |
1244 if isinstance(self.index, lazyindex): |
1244 if isinstance(self.index, lazyindex): |
1245 self._loadindexmap() |
1245 self._loadindexmap() |
1246 |
1246 |
1247 # When stripping away a revision, we need to make sure it |
1247 for rev in xrange(0, self.count()): |
1248 # does not actually belong to an older changeset. |
1248 if self.index[rev][4] >= minlink: |
1249 # The minlink parameter defines the oldest revision |
1249 break |
1250 # we're allowed to strip away. |
1250 else: |
1251 while minlink > self.index[rev][4]: |
1251 return |
1252 rev += 1 |
|
1253 if rev >= self.count(): |
|
1254 return |
|
1255 |
1252 |
1256 # first truncate the files on disk |
1253 # first truncate the files on disk |
1257 end = self.start(rev) |
1254 end = self.start(rev) |
1258 if not self._inline: |
1255 if not self._inline: |
1259 df = self.opener(self.datafile, "a") |
1256 df = self.opener(self.datafile, "a") |