Mercurial > hg
view tests/test-merge6.t @ 12681:bc13e17067d9
update: use higher level wording for "crosses branches" error
When using "hg update" to update to a revision on another branch, if
the user has uncommitted changes in the working directory, hg aborts
with the following message:
abort: crosses branches (use 'hg merge' to merge or use 'hg update
-C' to discard changes)
If the user isn't trying to update to tip and they follow the command
examples verbatim, they would end up updating to the wrong revision.
This patch removes the command examples in favor of just telling the
user to either merge or use --clean:
abort: crosses branches (merge branches or use --clean to discard
changes)
hg also aborts if the user tries to use "hg update" to get to tip
(without specifying a revision) and tip is on another branch:
abort: crosses branches (use 'hg merge' or use 'hg update -c')
This message is changed in the same fashion:
abort: crosses branches (merge branches or use --check to force
update)
author | Brodie Rao <brodie@bitheap.org> |
---|---|
date | Sat, 09 Oct 2010 17:02:28 -0500 |
parents | 4c94b6d0fb1c |
children | ffb5c09ba822 |
line wrap: on
line source
$ cat <<EOF > merge > import sys, os > print "merging for", os.path.basename(sys.argv[1]) > EOF $ HGMERGE="python ../merge"; export HGMERGE $ mkdir A1 $ cd A1 $ hg init $ echo This is file foo1 > foo $ echo This is file bar1 > bar $ hg add foo bar $ hg commit -m "commit text" $ cd .. $ hg clone A1 B1 updating to branch default 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd A1 $ rm bar $ hg remove bar $ hg commit -m "commit test" $ cd ../B1 $ echo This is file foo22 > foo $ hg commit -m "commit test" $ cd .. $ hg clone A1 A2 updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg clone B1 B2 updating to branch default 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd A1 $ hg pull ../B1 pulling from ../B1 searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) (run 'hg heads' to see heads, 'hg merge' to merge) $ hg merge 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) $ hg commit -m "commit test" bar should remain deleted. $ hg manifest --debug f9b0e817f6a48de3564c6b2957687c5e7297c5a0 644 foo $ cd ../B2 $ hg pull ../A2 pulling from ../A2 searching for changes adding changesets adding manifests adding file changes added 1 changesets with 0 changes to 0 files (+1 heads) (run 'hg heads' to see heads, 'hg merge' to merge) $ hg merge 0 files updated, 0 files merged, 1 files removed, 0 files unresolved (branch merge, don't forget to commit) $ hg commit -m "commit test" bar should remain deleted. $ hg manifest --debug f9b0e817f6a48de3564c6b2957687c5e7297c5a0 644 foo