# HG changeset patch # User Vadim Gelfer # Date 1147666054 25200 # Node ID e506c14382fd25ba1911a5abdf5e9bf3f714b5ee # Parent 2efa636eb411552bce3c36946e4b64f381b3d127 deprecate 'update -m'. use 'merge' instead. diff -r 2efa636eb411 -r e506c14382fd mercurial/commands.py --- a/mercurial/commands.py Sun May 14 17:37:34 2006 -0700 +++ b/mercurial/commands.py Sun May 14 21:07:34 2006 -0700 @@ -797,7 +797,7 @@ (nice(repo.changelog.tip()), nice(node))) if opts['merge'] and op1 != node: ui.status(_('merging with changeset %s\n') % nice(op1)) - update(ui, repo, hex(op1), **opts) + doupdate(ui, repo, hex(op1), **opts) def bundle(ui, repo, fname, dest="default-push", **opts): """create a changegroup file @@ -947,7 +947,7 @@ f.close() if not opts['noupdate']: - update(repo.ui, repo) + doupdate(repo.ui, repo) d.close() @@ -1956,7 +1956,7 @@ marked as changed for the next commit and a commit must be performed before any further updates are allowed. """ - return update(ui, repo, node=node, merge=True, **opts) + return doupdate(ui, repo, node=node, merge=True, **opts) def outgoing(ui, repo, dest="default-push", **opts): """show changesets not found in destination @@ -2035,7 +2035,7 @@ return if optupdate: if modheads == 1: - return update(ui, repo) + return doupdate(ui, repo) else: ui.status(_("not updating, since new heads added\n")) if modheads > 1: @@ -2740,15 +2740,19 @@ there is a linear relationship between the current version and the requested version, the result is the requested version. - Otherwise the result is a merge between the contents of the - current working directory and the requested version. Files that - changed between either parent are marked as changed for the next - commit and a commit must be performed before any further updates - are allowed. + To merge the working directory with another revision, use the + merge command. By default, update will refuse to run if doing so would require merging or discarding local changes. """ + if merge: + ui.warn(_('(the -m/--merge option is deprecated; ' + 'use the merge command instead)\n')) + return doupdate(ui, repo, node, merge, clean, force, branch, **opts) + +def doupdate(ui, repo, node=None, merge=False, clean=False, force=None, + branch=None, **opts): if branch: br = repo.branchlookup(branch=branch) found = [] @@ -3115,7 +3119,7 @@ "^update|up|checkout|co": (update, [('b', 'branch', '', _('checkout the head of a specific branch')), - ('m', 'merge', None, _('allow merging of branches')), + ('m', 'merge', None, _('allow merging of branches (DEPRECATED)')), ('C', 'clean', None, _('overwrite locally modified files')), ('f', 'force', None, _('force a merge with outstanding changes'))], _('hg update [-b TAG] [-m] [-C] [-f] [REV]')), diff -r 2efa636eb411 -r e506c14382fd tests/README --- a/tests/README Sun May 14 17:37:34 2006 -0700 +++ b/tests/README Sun May 14 21:07:34 2006 -0700 @@ -16,10 +16,10 @@ There are some tricky points here that you should be aware of when writing tests: -- hg commit and hg up -m want user interaction +- hg commit and hg merge want user interaction for commit use -m "text" - for hg up -m, set HGMERGE to something noninteractive (like true or merge) + for hg merge, set HGMERGE to something noninteractive (like true or merge) - changeset hashes will change based on user and date which make things like hg history output change diff -r 2efa636eb411 -r e506c14382fd tests/test-conflict --- a/tests/test-conflict Sun May 14 17:37:34 2006 -0700 +++ b/tests/test-conflict Sun May 14 21:07:34 2006 -0700 @@ -10,7 +10,7 @@ echo "something else" > a hg commit -m branch2 -d "1000000 0" HGMERGE=merge; export HGMERGE -hg up -m 1 +hg merge 1 hg id egrep -v ">>>|<<<" a hg status diff -r 2efa636eb411 -r e506c14382fd tests/test-confused-revert --- a/tests/test-confused-revert Sun May 14 17:37:34 2006 -0700 +++ b/tests/test-confused-revert Sun May 14 21:07:34 2006 -0700 @@ -28,7 +28,7 @@ echo foo-b > a hg commit -m "2b" -d "1000000 0" -HGMERGE=true hg update -m 1 +HGMERGE=true hg merge 1 echo "%%% should show foo-b" cat a diff -r 2efa636eb411 -r e506c14382fd tests/test-excessive-merge --- a/tests/test-excessive-merge Sun May 14 17:37:34 2006 -0700 +++ b/tests/test-excessive-merge Sun May 14 21:07:34 2006 -0700 @@ -17,12 +17,12 @@ echo blah > b hg ci -m "branch b" -d "1000000 0" -HGMERGE=true hg up -m 1 +HGMERGE=true hg merge 1 hg ci -m "merge b/a -> blah" -d "1000000 0" hg co 1 -HGMERGE=true hg up -m 2 +HGMERGE=true hg merge 2 hg ci -m "merge a/b -> blah" -d "1000000 0" hg log @@ -43,4 +43,4 @@ hg debugindex .hg/data/a.i -hg verify \ No newline at end of file +hg verify diff -r 2efa636eb411 -r e506c14382fd tests/test-filebranch --- a/tests/test-filebranch Sun May 14 17:37:34 2006 -0700 +++ b/tests/test-filebranch Sun May 14 21:07:34 2006 -0700 @@ -41,7 +41,7 @@ echo merging hg pull ../a -env HGMERGE=../merge hg update -vm +env HGMERGE=../merge hg merge -v echo 2m > foo echo 2b > baz diff -r 2efa636eb411 -r e506c14382fd tests/test-flags --- a/tests/test-flags Sun May 14 17:37:34 2006 -0700 +++ b/tests/test-flags Sun May 14 21:07:34 2006 -0700 @@ -27,7 +27,7 @@ hg heads hg history -hg -v co -m +hg -v merge ls -l ../test[12]/a > foo cut -b 1-10 < foo diff -r 2efa636eb411 -r e506c14382fd tests/test-hook --- a/tests/test-hook Sun May 14 17:37:34 2006 -0700 +++ b/tests/test-hook Sun May 14 21:07:34 2006 -0700 @@ -29,7 +29,7 @@ echo b > b hg add b hg commit -m b -d '1 0' -hg update -m 1 +hg merge 1 hg commit -m merge -d '2 0' cd ../b diff -r 2efa636eb411 -r e506c14382fd tests/test-merge1 --- a/tests/test-merge1 Sun May 14 17:37:34 2006 -0700 +++ b/tests/test-merge1 Sun May 14 21:07:34 2006 -0700 @@ -22,7 +22,7 @@ hg commit -m "commit #2" -d "1000000 0" echo This is file b1 > b echo %% no merges expected -env HGMERGE=../merge hg update -m 1 +env HGMERGE=../merge hg merge 1 cd ..; /bin/rm -rf t mkdir t @@ -41,9 +41,9 @@ hg commit -m "commit #2" -d "1000000 0" echo This is file b2 > b echo %% merge should fail -env HGMERGE=../merge hg update -m 1 +env HGMERGE=../merge hg merge 1 echo %% merge of b expected -env HGMERGE=../merge hg update -f -m 1 +env HGMERGE=../merge hg merge -f 1 cd ..; /bin/rm -rf t echo %% @@ -68,9 +68,9 @@ echo This is file b22 > b echo %% merge fails -env HGMERGE=../merge hg update -m 2 +env HGMERGE=../merge hg merge 2 echo %% merge expected! -env HGMERGE=../merge hg update -f -m 2 +env HGMERGE=../merge hg merge -f 2 cd ..; /bin/rm -rf t mkdir t @@ -90,7 +90,7 @@ hg commit -m "commit #3" -d "1000000 0" echo This is file b33 > b echo %% merge of b should fail -env HGMERGE=../merge hg update -m 2 +env HGMERGE=../merge hg merge 2 echo %% merge of b expected -env HGMERGE=../merge hg update -f -m 2 +env HGMERGE=../merge hg merge -f 2 cd ..; /bin/rm -rf t diff -r 2efa636eb411 -r e506c14382fd tests/test-merge4 --- a/tests/test-merge4 Sun May 14 17:37:34 2006 -0700 +++ b/tests/test-merge4 Sun May 14 21:07:34 2006 -0700 @@ -11,7 +11,7 @@ echo This is file c1 > c hg add c hg commit -m "commit #2" -d "1000000 0" -hg update -m 1 +hg merge 1 rm b echo This is file c22 > c hg commit -m "commit #3" -d "1000000 0" diff -r 2efa636eb411 -r e506c14382fd tests/test-merge6 --- a/tests/test-merge6 Sun May 14 17:37:34 2006 -0700 +++ b/tests/test-merge6 Sun May 14 21:07:34 2006 -0700 @@ -33,14 +33,14 @@ cd A1 hg pull ../B1 -hg update -m +hg merge hg commit -m "commit test" -d "1000000 0" echo bar should remain deleted. hg manifest cd ../B2 hg pull ../A2 -hg update -m +hg merge hg commit -m "commit test" -d "1000000 0" echo bar should remain deleted. hg manifest diff -r 2efa636eb411 -r e506c14382fd tests/test-merge7 --- a/tests/test-merge7 Sun May 14 17:37:34 2006 -0700 +++ b/tests/test-merge7 Sun May 14 21:07:34 2006 -0700 @@ -35,7 +35,7 @@ # now pull and merge from test-a hg pull ../test-a -HGMERGE=merge hg update -m +HGMERGE=merge hg merge # resolve conflict cat >test.txt <<"EOF" one @@ -57,7 +57,7 @@ # pull and merge from test-a again cd ../test-b hg pull ../test-a -HGMERGE=merge hg update --debug -m +HGMERGE=merge hg merge --debug cat test.txt | sed "s% .*%%" diff -r 2efa636eb411 -r e506c14382fd tests/test-merge7.out --- a/tests/test-merge7.out Sun May 14 17:37:34 2006 -0700 +++ b/tests/test-merge7.out Sun May 14 21:07:34 2006 -0700 @@ -22,7 +22,7 @@ (run 'hg heads' to see heads, 'hg merge' to merge) merge: warning: conflicts during merge resolving manifests - force None allow 1 moddirstate True linear False + force False allow True moddirstate True linear False ancestor 055d847dd401 local 2eded9ab0a5c remote 84cf5750dd20 test.txt versions differ, resolve merging test.txt diff -r 2efa636eb411 -r e506c14382fd tests/test-push-warn --- a/tests/test-push-warn Sun May 14 17:37:34 2006 -0700 +++ b/tests/test-push-warn Sun May 14 21:07:34 2006 -0700 @@ -23,7 +23,7 @@ hg push ../a hg pull ../a hg push ../a -hg up -m +hg merge hg commit -m "4" -d "1000000 0" hg push ../a cd .. @@ -44,7 +44,7 @@ hg ci -m d-$i -d "1000000 0" done -HGMERGE=true hg co -m 3 +HGMERGE=true hg merge 3 hg ci -m c-d -d "1000000 0" hg push ../c diff -r 2efa636eb411 -r e506c14382fd tests/test-ro-message --- a/tests/test-ro-message Sun May 14 17:37:34 2006 -0700 +++ b/tests/test-ro-message Sun May 14 21:07:34 2006 -0700 @@ -14,4 +14,4 @@ "$HG" commit -m 'Clarifying the vehicle.' "$HG" update -C 1 chmod a-w b/vehicle -"$HG" update -m 2 2>&1 | sed 's|^\(.*[ ]\).*/\([^/]*/[^/]*/[^/]*\)$|\1\2|g' +"$HG" merge 2 2>&1 | sed 's|^\(.*[ ]\).*/\([^/]*/[^/]*/[^/]*\)$|\1\2|g' diff -r 2efa636eb411 -r e506c14382fd tests/test-tags --- a/tests/test-tags Sun May 14 17:37:34 2006 -0700 +++ b/tests/test-tags Sun May 14 21:07:34 2006 -0700 @@ -27,7 +27,7 @@ hg add b hg commit -m "branch" -d "1000000 0" hg id -hg co -m 1 +hg merge 1 hg id hg status diff -r 2efa636eb411 -r e506c14382fd tests/test-up-local-change --- a/tests/test-up-local-change Sun May 14 17:37:34 2006 -0700 +++ b/tests/test-up-local-change Sun May 14 21:07:34 2006 -0700 @@ -29,7 +29,7 @@ hg parents hg --debug up 0 hg parents -hg --debug up -m || echo failed +hg --debug merge || echo failed hg parents hg --debug up hg parents @@ -50,8 +50,8 @@ hg status hg parents hg --debug up || echo failed -hg --debug up -m || echo failed -hg --debug up -f -m +hg --debug merge || echo failed +hg --debug merge -f hg parents hg diff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \ -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/" diff -r 2efa636eb411 -r e506c14382fd tests/test-up-local-change.out --- a/tests/test-up-local-change.out Sun May 14 17:37:34 2006 -0700 +++ b/tests/test-up-local-change.out Sun May 14 21:07:34 2006 -0700 @@ -112,7 +112,7 @@ abort: outstanding uncommitted changes failed resolving manifests - force None allow 1 moddirstate True linear False + force False allow True moddirstate True linear False ancestor a0c8bcbbb45c local 1165e8bd193e remote 4096f2872392 a versions differ, resolve b versions differ, resolve