diff --git a/mercurial/configitems.py b/mercurial/configitems.py --- a/mercurial/configitems.py +++ b/mercurial/configitems.py @@ -1307,6 +1307,9 @@ b'ui', b'editor', default=dynamicdefault, ) coreconfigitem( + b'ui', b'detailed-exit-code', default=False, experimental=True, +) +coreconfigitem( b'ui', b'fallbackencoding', default=None, ) coreconfigitem( diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py --- a/mercurial/scmutil.py +++ b/mercurial/scmutil.py @@ -148,6 +148,8 @@ return func() if no exception happens. otherwise do some error handling and return an exit code accordingly. does not handle all exceptions. """ + coarse_exit_code = -1 + detailed_exit_code = -1 try: try: return func() @@ -212,7 +214,8 @@ ui.error(b"%s\n" % inst) if inst.hint: ui.error(_(b"(%s)\n") % inst.hint) - return 1 + detailed_exit_code = 240 + coarse_exit_code = 1 except error.WdirUnsupported: ui.error(_(b"abort: working directory revision cannot be specified\n")) except error.Abort as inst: @@ -266,9 +269,13 @@ except SystemExit as inst: # Commands shouldn't sys.exit directly, but give a return code. # Just in case catch this and and pass exit code to caller. - return inst.code + detailed_exit_code = 254 + coarse_exit_code = inst.code - return -1 + if ui.configbool(b'ui', b'detailed-exit-code'): + return detailed_exit_code + else: + return coarse_exit_code def checknewlabel(repo, lbl, kind): diff --git a/mercurial/ui.py b/mercurial/ui.py --- a/mercurial/ui.py +++ b/mercurial/ui.py @@ -60,6 +60,8 @@ # The config knobs that will be altered (if unset) by ui.tweakdefaults. tweakrc = b""" [ui] +# Gives detailed exit codes for input/user errors, config errors, etc. +detailed-exit-code = True # The rollback command is dangerous. As a rule, don't use it. rollback = False # Make `hg status` report copy information diff --git a/tests/run-tests.py b/tests/run-tests.py --- a/tests/run-tests.py +++ b/tests/run-tests.py @@ -1439,6 +1439,7 @@ hgrc.write(b'[ui]\n') hgrc.write(b'slash = True\n') hgrc.write(b'interactive = False\n') + hgrc.write(b'detailed-exit-code = True\n') hgrc.write(b'merge = internal:merge\n') hgrc.write(b'mergemarkers = detailed\n') hgrc.write(b'promptecho = True\n') diff --git a/tests/test-absorb-unfinished.t b/tests/test-absorb-unfinished.t --- a/tests/test-absorb-unfinished.t +++ b/tests/test-absorb-unfinished.t @@ -21,7 +21,7 @@ merging foo.whole warning: conflicts while merging foo.whole! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg --config extensions.rebase= absorb abort: rebase in progress diff --git a/tests/test-basic.t b/tests/test-basic.t --- a/tests/test-basic.t +++ b/tests/test-basic.t @@ -9,6 +9,7 @@ lfs.usercache=$TESTTMP/.cache/lfs ui.slash=True ui.interactive=False + ui.detailed-exit-code=True ui.merge=internal:merge ui.mergemarkers=detailed ui.promptecho=True diff --git a/tests/test-bookmarks-rebase.t b/tests/test-bookmarks-rebase.t --- a/tests/test-bookmarks-rebase.t +++ b/tests/test-bookmarks-rebase.t @@ -81,7 +81,7 @@ merging d warning: conflicts while merging d! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg rebase --abort rebase aborted $ hg bookmark @@ -96,7 +96,7 @@ merging d warning: conflicts while merging d! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg bookmark -d three $ hg rebase --abort rebase aborted diff --git a/tests/test-commandserver.t b/tests/test-commandserver.t --- a/tests/test-commandserver.t +++ b/tests/test-commandserver.t @@ -211,6 +211,7 @@ lfs.usercache=$TESTTMP/.cache/lfs ui.slash=True ui.interactive=False + ui.detailed-exit-code=True ui.merge=internal:merge ui.mergemarkers=detailed ui.foo=bar @@ -222,6 +223,7 @@ *** runcommand -R foo showconfig ui defaults ui.slash=True ui.interactive=False + ui.detailed-exit-code=True ui.merge=internal:merge ui.mergemarkers=detailed ui.nontty=true diff --git a/tests/test-copytrace-heuristics.t b/tests/test-copytrace-heuristics.t --- a/tests/test-copytrace-heuristics.t +++ b/tests/test-copytrace-heuristics.t @@ -92,7 +92,7 @@ You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved. What do you want to do? u unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ cd .. $ rm -rf repo @@ -249,7 +249,7 @@ You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved. What do you want to do? u unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg rebase --abort rebase aborted @@ -711,7 +711,7 @@ You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved. What do you want to do? u unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] But when we have "sourcecommitlimit > (no. of drafts from base to c1)", we do fullcopytracing diff --git a/tests/test-fix.t b/tests/test-fix.t --- a/tests/test-fix.t +++ b/tests/test-fix.t @@ -869,7 +869,7 @@ merging foo.whole warning: conflicts while merging foo.whole! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg --config extensions.rebase= fix --working-dir abort: unresolved conflicts diff --git a/tests/test-histedit-arguments.t b/tests/test-histedit-arguments.t --- a/tests/test-histedit-arguments.t +++ b/tests/test-histedit-arguments.t @@ -151,7 +151,7 @@ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved Editing (08d98a8350f3), you may commit or record as needed now. (hg histedit --continue to resume) - [1] + [240] $ hg graft --continue abort: no graft in progress @@ -337,7 +337,7 @@ > EOF Editing (eb57da33312f), you may commit or record as needed now. (hg histedit --continue to resume) - [1] + [240] $ echo edit >> alpha $ hg histedit -q --continue $ hg log -G -T '{rev}:{node|short} {desc}' @@ -364,7 +364,7 @@ > EOF Editing (8fda0c726bf2), you may commit or record as needed now. (hg histedit --continue to resume) - [1] + [240] Corrupt histedit state file $ sed 's/8fda0c726bf2/123456789012/' .hg/histedit-state > ../corrupt-histedit $ mv ../corrupt-histedit .hg/histedit-state @@ -489,7 +489,7 @@ warning: conflicts while merging foo! (edit, then use 'hg resolve --mark') Fix up the change (pick 8cde254db839) (hg histedit --continue to resume) - [1] + [240] $ hg resolve -m --all (no more unresolved files) continue: hg histedit --continue @@ -498,7 +498,7 @@ warning: conflicts while merging foo! (edit, then use 'hg resolve --mark') Editing (6f2f0241f119), you may commit or record as needed now. (hg histedit --continue to resume) - [1] + [240] $ hg resolve -m --all (no more unresolved files) continue: hg histedit --continue diff --git a/tests/test-histedit-edit.t b/tests/test-histedit-edit.t --- a/tests/test-histedit-edit.t +++ b/tests/test-histedit-edit.t @@ -437,7 +437,7 @@ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved Editing (cb9a9f314b8b), you may commit or record as needed now. (hg histedit --continue to resume) - [1] + [240] $ HGEDITOR=true hg histedit --continue saved backup bundle to $TESTTMP/r0/.hg/strip-backup/cb9a9f314b8b-cc5ccb0b-histedit.hg diff --git a/tests/test-histedit-fold.t b/tests/test-histedit-fold.t --- a/tests/test-histedit-fold.t +++ b/tests/test-histedit-fold.t @@ -291,7 +291,7 @@ warning: conflicts while merging file! (edit, then use 'hg resolve --mark') Fix up the change (fold 251d831eeec5) (hg histedit --continue to resume) - [1] + [240] There were conflicts, we keep P1 content. This should effectively drop the changes from +6. @@ -364,7 +364,7 @@ warning: conflicts while merging file! (edit, then use 'hg resolve --mark') Fix up the change (fold 251d831eeec5) (hg histedit --continue to resume) - [1] + [240] $ cat > file << EOF > 1 > 2 diff --git a/tests/test-histedit-no-backup.t b/tests/test-histedit-no-backup.t --- a/tests/test-histedit-no-backup.t +++ b/tests/test-histedit-no-backup.t @@ -52,7 +52,7 @@ merging file Editing (7d5187087c79), you may commit or record as needed now. (hg histedit --continue to resume) - [1] + [240] $ hg abort 1 files updated, 0 files merged, 0 files removed, 0 files unresolved saved backup bundle to $TESTTMP/foo/.hg/strip-backup/1d8f701c7b35-cf7be322-backup.hg @@ -74,7 +74,7 @@ merging file Editing (7d5187087c79), you may commit or record as needed now. (hg histedit --continue to resume) - [1] + [240] $ hg abort 1 files updated, 0 files merged, 0 files removed, 0 files unresolved diff --git a/tests/test-histedit-obsolete.t b/tests/test-histedit-obsolete.t --- a/tests/test-histedit-obsolete.t +++ b/tests/test-histedit-obsolete.t @@ -45,7 +45,7 @@ $ hg histedit -r 'all()' --commands plan Editing (1b2d564fad96), you may commit or record as needed now. (hg histedit --continue to resume) - [1] + [240] $ hg st A b A c @@ -72,7 +72,7 @@ $ hg histedit -r 'all()' --commands plan Editing (49d44ab2be1b), you may commit or record as needed now. (hg histedit --continue to resume) - [1] + [240] $ hg st A b A d @@ -227,7 +227,7 @@ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved Editing (b346ab9a313d), you may commit or record as needed now. (hg histedit --continue to resume) - [1] + [240] $ echo c >> c $ hg histedit --continue 1 new orphan changesets @@ -361,7 +361,7 @@ 0 files updated, 0 files merged, 6 files removed, 0 files unresolved Editing (b449568bf7fc), you may commit or record as needed now. (hg histedit --continue to resume) - [1] + [240] $ echo f >> f $ hg histedit --continue $ hg log -G @@ -403,7 +403,7 @@ 0 files updated, 0 files merged, 6 files removed, 0 files unresolved Editing (b449568bf7fc), you may commit or record as needed now. (hg histedit --continue to resume) - [1] + [240] $ echo f >> f $ hg histedit --continue $ hg log -G @@ -529,7 +529,7 @@ > EOF Editing (ee118ab9fa44), you may commit or record as needed now. (hg histedit --continue to resume) - [1] + [240] #if abortcommand when in dry-run mode @@ -568,7 +568,7 @@ > EOF Editing (ee118ab9fa44), you may commit or record as needed now. (hg histedit --continue to resume) - [1] + [240] $ hg histedit --continue --config experimental.evolution.track-operation=1 $ hg log -G @ 23:175d6b286a22 (secret) k 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 @@ -594,7 +594,7 @@ merging normal1 warning: conflicts while merging normal1! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ cat .hglf/large1 58e24f733a964da346e2407a2bee99d9001184f5 $ cat large1 @@ -762,7 +762,7 @@ > hgext.largefiles.lfutil.getlfilestoupdate = getlfilestoupdate > EOF $ hg up -Cr "8" --config extensions.crashupdatelfiles=../crashupdatelfiles.py - [7] + [254] Check large1 content and status ... and that update will undo modifications: $ cat large1 large1 in #3 diff --git a/tests/test-legacy-exit-code.t b/tests/test-legacy-exit-code.t new file mode 100644 --- /dev/null +++ b/tests/test-legacy-exit-code.t @@ -0,0 +1,49 @@ +Tests that the exit code is as expected when ui.detailed-exit-code is *not* +enabled. + + $ cat >> $HGRCPATH << EOF + > [ui] + > detailed-exit-code=no + > EOF + + $ hg init + $ echo a > a +Expect exit code 0 on success + $ hg ci -Aqm initial + + $ hg co nonexistent + abort: unknown revision 'nonexistent'! + [255] + + $ hg co 'none()' + abort: empty revision set + [255] + + $ hg co 'invalid(' + hg: parse error at 8: not a prefix: end + (invalid( + ^ here) + [255] + + $ hg co 'invalid(' + hg: parse error at 8: not a prefix: end + (invalid( + ^ here) + [255] + + $ hg continue + abort: no operation in progress + [255] + + $ hg st --config a=b + abort: malformed --config option: 'a=b' (use --config section.name=value) + [255] + + $ echo b > a + $ hg ci -m second + $ echo c > a + $ hg ci -m third + $ hg --config extensions.rebase= rebase -r . -d 0 -q + warning: conflicts while merging a! (edit, then use 'hg resolve --mark') + unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') + [1] diff --git a/tests/test-merge-halt.t b/tests/test-merge-halt.t --- a/tests/test-merge-halt.t +++ b/tests/test-merge-halt.t @@ -28,7 +28,7 @@ merging a failed! merging b failed! unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg resolve --list U a @@ -45,7 +45,7 @@ merging b merging a failed! merge halted after failed merge (see hg resolve) - [1] + [240] $ hg resolve --list U a @@ -73,7 +73,7 @@ merging b failed! continue merge operation (yn)? n merge halted after failed merge (see hg resolve) - [1] + [240] $ hg resolve --list U a @@ -102,7 +102,7 @@ merging b failed! continue merge operation (yn)? n merge halted after failed merge (see hg resolve) - [1] + [240] $ hg resolve --list R a @@ -125,7 +125,7 @@ merging b merging a failed! merge halted after failed merge (see hg resolve) - [1] + [240] $ hg resolve --list U a @@ -146,7 +146,7 @@ was merge of 'b' successful (yn)? n merging b failed! merge halted after failed merge (see hg resolve) - [1] + [240] $ hg resolve --list R a diff --git a/tests/test-qrecord.t b/tests/test-qrecord.t --- a/tests/test-qrecord.t +++ b/tests/test-qrecord.t @@ -458,7 +458,7 @@ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved Editing (ea55e2ae468f), you may commit or record as needed now. (hg histedit --continue to resume) - [1] + [240] $ echo 'foo bar' > a $ hg qrecord -d '0 0' -m aaa a.patch < y diff --git a/tests/test-rebase-abort.t b/tests/test-rebase-abort.t --- a/tests/test-rebase-abort.t +++ b/tests/test-rebase-abort.t @@ -82,7 +82,7 @@ merging common warning: conflicts while merging common! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] Insert unsupported advisory merge record: @@ -149,7 +149,7 @@ merging common warning: conflicts while merging common! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ mv .hg/rebasestate .hg/rebasestate.back $ hg update --quiet --clean 2 @@ -219,7 +219,7 @@ merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg tglog % 4:draft 'C1' @@ -278,7 +278,7 @@ merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg abort rebase aborted $ hg log -G --template "{rev} {desc} {bookmarks}" @@ -316,7 +316,7 @@ $ hg rebase -d @ -b foo --tool=internal:fail rebasing 2:070cf4580bb5 foo tip "b2" unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ mv .hg/rebasestate ./ # so we're allowed to hg up like in mercurial <2.6.3 $ hg up -C 0 # user does other stuff in the repo @@ -463,7 +463,7 @@ $ hg rebase -d 1 --tool 'internal:fail' rebasing 2:e4ea5cdc9789 "conflicting 1" unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg abort rebase aborted $ hg summary @@ -504,7 +504,7 @@ note: not rebasing 3:0682fd3dabf5 "disappear draft", its destination already has all its changes warning: conflicts while merging root! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg abort rebase aborted $ cd .. diff --git a/tests/test-rebase-backup.t b/tests/test-rebase-backup.t --- a/tests/test-rebase-backup.t +++ b/tests/test-rebase-backup.t @@ -127,7 +127,7 @@ merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg rebase --abort saved backup bundle to $TESTTMP/repo1/.hg/strip-backup/818c1a43c916-2b644d96-backup.hg rebase aborted @@ -143,7 +143,7 @@ merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg rebase --abort rebase aborted $ cd .. diff --git a/tests/test-rebase-bookmarks.t b/tests/test-rebase-bookmarks.t --- a/tests/test-rebase-bookmarks.t +++ b/tests/test-rebase-bookmarks.t @@ -173,7 +173,7 @@ merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ echo 'c' > c $ hg resolve --mark c (no more unresolved files) diff --git a/tests/test-rebase-check-restore.t b/tests/test-rebase-check-restore.t --- a/tests/test-rebase-check-restore.t +++ b/tests/test-rebase-check-restore.t @@ -70,7 +70,7 @@ merging A warning: conflicts while merging A! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] Solve the conflict and go on: @@ -127,7 +127,7 @@ merging A warning: conflicts while merging A! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] Solve the conflict and go on: diff --git a/tests/test-rebase-collapse.t b/tests/test-rebase-collapse.t --- a/tests/test-rebase-collapse.t +++ b/tests/test-rebase-collapse.t @@ -292,7 +292,7 @@ You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved. What do you want to do? u unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ echo F > E $ hg resolve -m @@ -659,7 +659,7 @@ merging A warning: conflicts while merging A! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ rm A.orig $ hg resolve --mark A (no more unresolved files) @@ -706,7 +706,7 @@ merging A warning: conflicts while merging A! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg tglog o 3: 63668d570d21 'C' | @@ -734,7 +734,7 @@ merging A warning: conflicts while merging A! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg tglog % 3: 63668d570d21 'C' | diff --git a/tests/test-rebase-conflicts.t b/tests/test-rebase-conflicts.t --- a/tests/test-rebase-conflicts.t +++ b/tests/test-rebase-conflicts.t @@ -67,7 +67,7 @@ merging common warning: conflicts while merging common! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg status --config commands.status.verbose=1 M common @@ -345,7 +345,7 @@ merging a warning: conflicts while merging a! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg diff diff -r 328e4ab1f7cc a --- a/a Thu Jan 01 00:00:00 1970 +0000 @@ -365,7 +365,7 @@ merging a warning: conflicts while merging a! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg diff diff -r 328e4ab1f7cc a --- a/a Thu Jan 01 00:00:00 1970 +0000 @@ -403,7 +403,7 @@ merging B warning: conflicts while merging B! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ echo 4 > B $ hg resolve -m @@ -455,7 +455,7 @@ merging conflict warning: conflicts while merging conflict! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg tglog @ 8:draft 'E' | diff --git a/tests/test-rebase-dest.t b/tests/test-rebase-dest.t --- a/tests/test-rebase-dest.t +++ b/tests/test-rebase-dest.t @@ -49,7 +49,7 @@ merging c warning: conflicts while merging c! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ echo d > c $ hg resolve --mark --all (no more unresolved files) diff --git a/tests/test-rebase-detach.t b/tests/test-rebase-detach.t --- a/tests/test-rebase-detach.t +++ b/tests/test-rebase-detach.t @@ -298,7 +298,7 @@ merging B warning: conflicts while merging B! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg resolve --all -t internal:local (no more unresolved files) continue: hg rebase --continue diff --git a/tests/test-rebase-inmemory.t b/tests/test-rebase-inmemory.t --- a/tests/test-rebase-inmemory.t +++ b/tests/test-rebase-inmemory.t @@ -465,7 +465,7 @@ merging e warning: conflicts while merging e! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg rebase --abort saved backup bundle to $TESTTMP/repo3/.hg/strip-backup/c1e524d4287c-f91f82e1-backup.hg rebase aborted @@ -856,7 +856,7 @@ merging foo warning: conflicts while merging foo! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ cd $TESTTMP @@ -889,7 +889,7 @@ merging foo warning: conflicts while merging foo! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg rebase -r 3 -d 1 -t:merge3 abort: rebase in progress (use 'hg rebase --continue', 'hg rebase --abort', or 'hg rebase --stop') diff --git a/tests/test-rebase-interruptions.t b/tests/test-rebase-interruptions.t --- a/tests/test-rebase-interruptions.t +++ b/tests/test-rebase-interruptions.t @@ -62,7 +62,7 @@ merging A warning: conflicts while merging A! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] Force a commit on C during the interruption: @@ -99,7 +99,7 @@ merging A warning: conflicts while merging A! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] Solve the conflict and go on: @@ -158,7 +158,7 @@ merging A warning: conflicts while merging A! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] Force a commit on B' during the interruption: @@ -230,7 +230,7 @@ merging A warning: conflicts while merging A! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] Change phase on B and B' @@ -303,7 +303,7 @@ merging A warning: conflicts while merging A! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg tglog @ 5: 45396c49d53b 'B' | @@ -506,7 +506,7 @@ merging a warning: conflicts while merging a! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ echo a > a $ echo c >> a $ hg resolve --mark a @@ -526,7 +526,7 @@ merging a warning: conflicts while merging a! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ echo a > a $ echo c >> a $ hg resolve --mark a diff --git a/tests/test-rebase-mq-skip.t b/tests/test-rebase-mq-skip.t --- a/tests/test-rebase-mq-skip.t +++ b/tests/test-rebase-mq-skip.t @@ -156,7 +156,7 @@ note: not rebasing 3:6ff5b8feed8e r3 "r3", its destination already has all its changes rebasing 4:094320fec554 r4 "r4" unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ HGMERGE=internal:local hg resolve --all (no more unresolved files) diff --git a/tests/test-rebase-mq.t b/tests/test-rebase-mq.t --- a/tests/test-rebase-mq.t +++ b/tests/test-rebase-mq.t @@ -63,7 +63,7 @@ merging f warning: conflicts while merging f! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] Fix the 1st conflict: @@ -77,7 +77,7 @@ merging f warning: conflicts while merging f! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] Fix the 2nd conflict: diff --git a/tests/test-rebase-obsolete.t b/tests/test-rebase-obsolete.t --- a/tests/test-rebase-obsolete.t +++ b/tests/test-rebase-obsolete.t @@ -1033,7 +1033,7 @@ merging willconflict warning: conflicts while merging willconflict! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg resolve --mark willconflict (no more unresolved files) @@ -1788,7 +1788,7 @@ merging D warning: conflicts while merging D! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ cp -R . $TESTTMP/hidden-state2 @@ -1875,7 +1875,7 @@ merging d warning: conflicts while merging d! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg rebase --stop 1 new orphan changesets $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n" @@ -1937,7 +1937,7 @@ merging d warning: conflicts while merging d! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg rebase --stop abort: cannot remove original changesets with unrebased descendants (either enable obsmarkers to allow unstable revisions or use --keep to keep original changesets) @@ -1955,7 +1955,7 @@ merging d warning: conflicts while merging d! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg rebase --stop $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n" o 7:7fffad344617 test @@ -2017,7 +2017,7 @@ merging d warning: conflicts while merging d! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg rebase --stop abort: cannot stop in --collapse session [255] @@ -2050,7 +2050,7 @@ merging d warning: conflicts while merging d! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg rebase --stop --dry-run abort: cannot specify both --stop and --dry-run [255] @@ -2118,7 +2118,7 @@ merging d warning: conflicts while merging d! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg rebase --stop 1 new orphan changesets $ hg log -GT "{rev}: {node|short} '{desc}' bookmarks: {bookmarks}\n" diff --git a/tests/test-rebase-parameters.t b/tests/test-rebase-parameters.t --- a/tests/test-rebase-parameters.t +++ b/tests/test-rebase-parameters.t @@ -480,7 +480,7 @@ $ hg rebase -s 2 -d 1 --tool internal:fail rebasing 2:e4e3f3546619 tip "c2b" unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg summary parent: 1:56daeba07f4b diff --git a/tests/test-rebase-partial.t b/tests/test-rebase-partial.t --- a/tests/test-rebase-partial.t +++ b/tests/test-rebase-partial.t @@ -85,7 +85,7 @@ merging file warning: conflicts while merging file! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg rebase --abort rebase aborted $ hg tglog diff --git a/tests/test-rebase-pull.t b/tests/test-rebase-pull.t --- a/tests/test-rebase-pull.t +++ b/tests/test-rebase-pull.t @@ -90,7 +90,7 @@ > EOF Editing (d80cc2da061e), you may commit or record as needed now. (hg histedit --continue to resume) - [1] + [240] $ hg pull --rebase abort: histedit in progress (use 'hg histedit --continue' or 'hg histedit --abort') diff --git a/tests/test-rebase-transaction.t b/tests/test-rebase-transaction.t --- a/tests/test-rebase-transaction.t +++ b/tests/test-rebase-transaction.t @@ -108,7 +108,7 @@ merging conflict warning: conflicts while merging conflict! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg tglog o 5: D | diff --git a/tests/test-resolve.t b/tests/test-resolve.t --- a/tests/test-resolve.t +++ b/tests/test-resolve.t @@ -464,7 +464,7 @@ warning: conflicts while merging emp2! (edit, then use 'hg resolve --mark') warning: conflicts while merging emp3! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] Test when commands.resolve.confirm config option is not set: =========================================================== diff --git a/tests/test-shelve.t b/tests/test-shelve.t --- a/tests/test-shelve.t +++ b/tests/test-shelve.t @@ -366,7 +366,7 @@ merging a/a warning: conflicts while merging a/a! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') - [1] + [240] $ hg status -v M a/a M b.rename/b @@ -484,7 +484,7 @@ $ hg unshelve -q warning: conflicts while merging a/a! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') - [1] + [240] attempt to continue @@ -705,7 +705,7 @@ merging a/a warning: conflicts while merging a/a! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') - [1] + [240] $ hg bookmark test (4|13):33f7f61e6c5e (re) @@ -1387,7 +1387,7 @@ warning: conflicts while merging bar1! (edit, then use 'hg resolve --mark') warning: conflicts while merging bar2! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') - [1] + [240] $ cat > bar1 < A diff --git a/tests/test-shelve2.t b/tests/test-shelve2.t --- a/tests/test-shelve2.t +++ b/tests/test-shelve2.t @@ -219,7 +219,7 @@ merging f warning: conflicts while merging f! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') - [1] + [240] #if phasebased $ hg log -G --template '{rev} {desc|firstline} {author} {date|isodate}' @@ -290,7 +290,7 @@ merging f warning: conflicts while merging f! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') - [1] + [240] $ hg st M f ? f.orig @@ -345,7 +345,7 @@ $ hg unshelve -q --config 'ui.origbackuppath=.hg/origbackups' warning: conflicts while merging root! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') - [1] + [240] $ ls .hg/origbackups root $ rm -rf .hg/origbackups @@ -563,7 +563,7 @@ merging a warning: conflicts while merging a! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') - [1] + [240] $ echo "aaabbbccc" > a $ rm a.orig $ hg resolve --mark a @@ -637,7 +637,7 @@ merging a warning: conflicts while merging a! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') - [1] + [240] Removing restore branch information from shelvedstate file(making it looks like in previous versions) and running unshelve --continue @@ -715,7 +715,7 @@ merging file warning: conflicts while merging file! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') - [1] + [240] $ echo somethingsomething > .hg/shelvedstate Unshelve --continue fails with appropriate message if shelvedstate is corrupted @@ -762,7 +762,7 @@ merging file warning: conflicts while merging file! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') - [1] + [240] $ hg resolve --mark file (no more unresolved files) continue: hg unshelve --continue @@ -819,7 +819,7 @@ merging a warning: conflicts while merging a! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') - [1] + [240] putting v1 shelvedstate file in place of a created v2 $ cat << EOF > .hg/shelvedstate > 1 @@ -860,7 +860,7 @@ merging a warning: conflicts while merging a! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') - [1] + [240] $ hg abort unshelve of 'default' aborted @@ -877,7 +877,7 @@ merging a warning: conflicts while merging a! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') - [1] + [240] $ cat .hg/shelved/default.shelve node=82e0cb9893247d12667017593ce1e5655860f1ac $ hg abort @@ -905,7 +905,7 @@ merging a warning: conflicts while merging a! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') - [1] + [240] $ hg log --template '{desc|firstline} {author} {date|isodate} \n' -r . pending changes temporary commit shelve@localhost 1970-01-01 00:00 +0000 @@ -934,7 +934,7 @@ $ hg unshelve -q warning: conflicts while merging foo! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') - [1] + [240] $ cat foo r0 <<<<<<< working-copy: 0b2fcf2a90e9 - shelve: pending changes temporary commit diff --git a/tests/test-sparse-profiles.t b/tests/test-sparse-profiles.t --- a/tests/test-sparse-profiles.t +++ b/tests/test-sparse-profiles.t @@ -201,7 +201,7 @@ warning: conflicts while merging backend.sparse! (edit, then use 'hg resolve --mark') warning: conflicts while merging data.py! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ rm *.orig $ ls -A .hg diff --git a/tests/test-sparse.t b/tests/test-sparse.t --- a/tests/test-sparse.t +++ b/tests/test-sparse.t @@ -201,7 +201,7 @@ merging hide warning: conflicts while merging hide! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') - [1] + [240] $ hg debugsparse [exclude] diff --git a/tests/test-state-extension.t b/tests/test-state-extension.t --- a/tests/test-state-extension.t +++ b/tests/test-state-extension.t @@ -101,7 +101,7 @@ merging file1 warning: conflicts while merging file1! (edit, then use 'hg resolve --mark') unresolved conflicts (see 'hg resolve', then 'hg chainify --continue') - [1] + [240] $ hg status --config commands.status.verbose=True M file1 ? file1.orig