D715: repair: preserve phase also when not using generaldelta (issue5678)
martinvonz (Martin von Zweigbergk)
phabricator at mercurial-scm.org
Fri Sep 15 11:35:23 EDT 2017
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG91f0677dc920: repair: preserve phase also when not using generaldelta (issue5678) (authored by martinvonz, committed by ).
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D715?vs=1833&id=1847
REVISION DETAIL
https://phab.mercurial-scm.org/D715
AFFECTED FILES
mercurial/changegroup.py
mercurial/repair.py
tests/test-rebase-scenario-global.t
tests/test-strip.t
CHANGE DETAILS
diff --git a/tests/test-strip.t b/tests/test-strip.t
--- a/tests/test-strip.t
+++ b/tests/test-strip.t
@@ -1116,6 +1116,6 @@
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
saved backup bundle to $TESTTMP/issue5678/.hg/strip-backup/489bac576828-bef27e14-backup.hg (glob)
$ hg unbundle -q .hg/strip-backup/*
-BROKEN: obsmarker got lost
$ hg debugobsolete
+ cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b 489bac576828490c0bb8d45eac9e5e172e4ec0a8 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
$ cd ..
diff --git a/tests/test-rebase-scenario-global.t b/tests/test-rebase-scenario-global.t
--- a/tests/test-rebase-scenario-global.t
+++ b/tests/test-rebase-scenario-global.t
@@ -399,11 +399,10 @@
$ hg rebase -s 1 -d 2
rebasing 1:d2ae7f538514 "b"
saved backup bundle to $TESTTMP/issue5678/.hg/strip-backup/d2ae7f538514-2953539b-rebase.hg (glob)
-BROKEN: d36c should remain public
$ hg log -G -T '{rev}:{node|shortest} {phase} {desc}\n'
o 2:c882 draft b
|
- @ 1:d36c draft c
+ @ 1:d36c public c
|
o 0:cb9a public a
diff --git a/mercurial/repair.py b/mercurial/repair.py
--- a/mercurial/repair.py
+++ b/mercurial/repair.py
@@ -38,7 +38,7 @@
totalhash = hashlib.sha1(''.join(allhashes)).hexdigest()
name = "%s/%s-%s-%s.hg" % (backupdir, short(node), totalhash[:8], suffix)
- cgversion = changegroup.safeversion(repo)
+ cgversion = changegroup.localversion(repo)
comp = None
if cgversion != '01':
bundletype = "HG20"
diff --git a/mercurial/changegroup.py b/mercurial/changegroup.py
--- a/mercurial/changegroup.py
+++ b/mercurial/changegroup.py
@@ -872,6 +872,11 @@
versions.discard('02')
return versions
+def localversion(repo):
+ # Finds the best version to use for bundles that are meant to be used
+ # locally, such as those from strip and shelve, and temporary bundles.
+ return max(supportedoutgoingversions(repo))
+
def safeversion(repo):
# Finds the smallest version that it's safe to assume clients of the repo
# will support. For example, all hg versions that support generaldelta also
To: martinvonz, #hg-reviewers, indygreg, quark, durham, durin42
Cc: quark, indygreg, mercurial-devel
More information about the Mercurial-devel
mailing list