[PATCH 2 of 2 V2] update: warn about other topological head in pull and unbundle
Pierre-Yves David
pierre-yves.david at ens-lyon.org
Sun Feb 7 16:25:10 EST 2016
# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at fb.com>
# Date 1454512321 0
# Wed Feb 03 15:12:01 2016 +0000
# Node ID d293621b48c9606a715268204548a545e73029f5
# Parent 6721afd1a28833cf46bf8498b4222aa51355c751
# EXP-Topic destination
# Available At http://hg.netv6.net/marmoute-wip/mercurial/
# hg pull http://hg.netv6.net/marmoute-wip/mercurial/ -r d293621b48c9
update: warn about other topological head in pull and unbundle
Other commands have a '--update' triggering a bare update. We now issue the
message introduce into the previous changeset for these too.
diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -5528,17 +5528,21 @@ def phase(ui, repo, *revs, **opts):
def postincoming(ui, repo, modheads, optupdate, checkout):
if modheads == 0:
return
if optupdate:
+ warndest = False
try:
brev = checkout
movemarkfrom = None
if not checkout:
+ warndest = True
updata = destutil.destupdate(repo)
checkout, movemarkfrom, brev = updata
ret = hg.update(repo, checkout)
+ if warndest:
+ destutil.statusotherdests(ui, repo)
except error.UpdateAbort as inst:
msg = _("not updating: %s") % str(inst)
hint = inst.hint
raise error.UpdateAbort(msg, hint=hint)
if not ret and movemarkfrom:
diff --git a/tests/test-largefiles-update.t b/tests/test-largefiles-update.t
--- a/tests/test-largefiles-update.t
+++ b/tests/test-largefiles-update.t
@@ -463,10 +463,11 @@ Test that the internal linear merging wo
largefile large1 has a merge conflict
ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
keep (l)ocal ba94c2efe5b7c5e0af8d189295ce00553b0612b7 or
take (o)ther e5bb990443d6a92aaf7223813720f7566c9dd05b? l
2 files updated, 1 files merged, 0 files removed, 0 files unresolved
+ 1 other heads for branch "default"
$ hg status -A large1
M large1
$ cat large1
large1 for linear merge (conflict)
@@ -496,10 +497,11 @@ Test that the internal linear merging wo
largefile large1 has a merge conflict
ancestor was 4669e532d5b2c093a78eca010077e708a071bb64
keep (l)ocal ba94c2efe5b7c5e0af8d189295ce00553b0612b7 or
take (o)ther e5bb990443d6a92aaf7223813720f7566c9dd05b? l
2 files updated, 1 files merged, 0 files removed, 0 files unresolved
+ 1 other heads for branch "default"
$ hg status -A large1
M large1
$ cat large1
large1 for linear merge (conflict)
diff --git a/tests/test-pull-branch.t b/tests/test-pull-branch.t
--- a/tests/test-pull-branch.t
+++ b/tests/test-pull-branch.t
@@ -131,10 +131,11 @@ Should succeed because there is only one
adding changesets
adding manifests
adding file changes
added 4 changesets with 4 changes to 1 files (+1 heads)
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ 1 other heads for branch "branchA"
Make changes on new branch on tt
$ hg up 6
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
More information about the Mercurial-devel
mailing list