Show More
@@ -417,7 +417,6 b' elif cmd == "verify":' | |||
|
417 | 417 | |
|
418 | 418 | manifestchangeset[changes[0]] = n |
|
419 | 419 | for f in changes[3]: |
|
420 | revisions += 1 | |
|
421 | 420 | filelinkrevs.setdefault(f, []).append(i) |
|
422 | 421 | |
|
423 | 422 | ui.status("checking manifests\n") |
@@ -468,6 +467,7 b' elif cmd == "verify":' | |||
|
468 | 467 | fl = repo.file(f) |
|
469 | 468 | nodes = { hg.nullid: 1 } |
|
470 | 469 | for i in range(fl.count()): |
|
470 | revisions += 1 | |
|
471 | 471 | n = fl.node(i) |
|
472 | 472 | |
|
473 | 473 | if n not in filenodes[f]: |
@@ -505,10 +505,6 b' elif cmd == "verify":' | |||
|
505 | 505 | nodes[n] = 1 |
|
506 | 506 | |
|
507 | 507 | # cross-check |
|
508 | for flr in filelinkrevs[f]: | |
|
509 | ui.warn("changeset rev %d not in %s\n" % (flr, f)) | |
|
510 | errors += 1 | |
|
511 | ||
|
512 | 508 | for node in filenodes[f]: |
|
513 | 509 | ui.warn("node %s in manifests not in %s\n" % (hg.hex(n), f)) |
|
514 | 510 | errors += 1 |
@@ -814,7 +814,7 b' class localrepository:' | |||
|
814 | 814 | # pull off the changeset group |
|
815 | 815 | self.ui.status("adding changesets\n") |
|
816 | 816 | co = self.changelog.tip() |
|
817 | cn = self.changelog.addgroup(getgroup(), csmap, tr) | |
|
817 | cn = self.changelog.addgroup(getgroup(), csmap, tr, 1) # unique | |
|
818 | 818 | changesets = self.changelog.rev(cn) - self.changelog.rev(co) |
|
819 | 819 | |
|
820 | 820 | # pull off the manifest group |
@@ -433,7 +433,7 b' class revlog:' | |||
|
433 | 433 | |
|
434 | 434 | yield struct.pack(">l", 0) |
|
435 | 435 | |
|
436 | def addgroup(self, revs, linkmapper, transaction): | |
|
436 | def addgroup(self, revs, linkmapper, transaction, unique = 0): | |
|
437 | 437 | # given a set of deltas, add them to the revision log. the |
|
438 | 438 | # first delta is against its parent, which should be in our |
|
439 | 439 | # log, the rest are against the previous delta. |
@@ -463,7 +463,10 b' class revlog:' | |||
|
463 | 463 | node, p1, p2, cs = struct.unpack("20s20s20s20s", chunk[:80]) |
|
464 | 464 | link = linkmapper(cs) |
|
465 | 465 | if node in self.nodemap: |
|
466 | raise "already have %s" % hex(node[:4]) | |
|
466 | # this can happen if two branches make the same change | |
|
467 | if unique: | |
|
468 | raise "already have %s" % hex(node[:4]) | |
|
469 | continue | |
|
467 | 470 | delta = chunk[80:] |
|
468 | 471 | |
|
469 | 472 | if not chain: |
General Comments 0
You need to be logged in to leave comments.
Login now