D6795: strip: fix bug with treemanifests and unordered linkrevs
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Mon Sep 9 12:09:58 EDT 2019
Closed by commit rHGa8b249b2f8cc: strip: fix bug with treemanifests and unordered linkrevs (authored by martinvonz).
This revision was automatically updated to reflect the committed changes.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D6795?vs=16400&id=16464
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D6795/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D6795
AFFECTED FILES
mercurial/repair.py
tests/test-strip-cross.t
CHANGE DETAILS
diff --git a/tests/test-strip-cross.t b/tests/test-strip-cross.t
--- a/tests/test-strip-cross.t
+++ b/tests/test-strip-cross.t
@@ -203,14 +203,9 @@
checking changesets
checking manifests
checking directory manifests
- dir/@0: parent-directory manifest refers to unknown revision 1c556153fe54
- dir/@1: parent-directory manifest refers to unknown revision 1f76dba919fd
crosschecking files in changesets and manifests
checking files
- dir/other at 1: 5d9299349fc0 not in manifests
checked 3 changesets with 4 changes to 3 files
- 3 integrity errors encountered!
- (first damaged changeset appears to be 0)
% Trying to strip revision 3
saved backup bundle to $TESTTMP/treemanifests/3/.hg/strip-backup/e4e3de5c3cb2-f4c70376-backup.hg
diff --git a/mercurial/repair.py b/mercurial/repair.py
--- a/mercurial/repair.py
+++ b/mercurial/repair.py
@@ -81,14 +81,12 @@
_, brokenset = revlog.getstrippoint(striprev)
return [revlog.linkrev(r) for r in brokenset]
-def _collectmanifest(repo, striprev):
- return _collectrevlog(repo.manifestlog.getstorage(b''), striprev)
-
def _collectbrokencsets(repo, files, striprev):
"""return the changesets which will be broken by the truncation"""
s = set()
- s.update(_collectmanifest(repo, striprev))
+ for revlog in manifestrevlogs(repo):
+ s.update(_collectrevlog(revlog, striprev))
for fname in files:
s.update(_collectrevlog(repo.file(fname), striprev))
To: martinvonz, #hg-reviewers, pulkit
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list