##// END OF EJS Templates
tests: use pattern matching to mask `ECONNREFUSED` messages...
tests: use pattern matching to mask `ECONNREFUSED` messages The second and third one of these in `test-http-proxy.t` was failing on Windows. The others were found by grep and by failed tests when output was matched and an attempt was made to emit the mask pattern. The first clonebundles failure on Windows emitted: error fetching bundle: [WinError 10061] $ECONNREFUSED$ We should probably stringify that better to get rid of the "[WinError 10061]" part.

File last commit:

r48868:f27a8339 default
r52835:73a43fe3 default
Show More
test-histedit-arguments.t
605 lines | 15.7 KiB | text/troff | Tads3Lexer
/ tests / test-histedit-arguments.t
Taapas Agrawal
abort: added support for histedit...
r42787 #testcases abortcommand abortflag
#if abortflag
$ cat >> $HGRCPATH <<EOF
> [alias]
> abort = histedit --abort
> EOF
#endif
Pierre-Yves David
histedit-test: rename histedit-revspec into histedit-argument...
r19035 Test argument handling and various data parsing
==================================================
Enable extensions used by this test.
$ cat >>$HGRCPATH <<EOF
> [extensions]
> histedit=
> EOF
Repo setup.
$ hg init foo
$ cd foo
$ echo alpha >> alpha
$ hg addr
adding alpha
$ hg ci -m one
$ echo alpha >> alpha
$ hg ci -m two
$ echo alpha >> alpha
$ hg ci -m three
$ echo alpha >> alpha
$ hg ci -m four
$ echo alpha >> alpha
$ hg ci -m five
$ hg log --style compact --graph
@ 4[tip] 08d98a8350f3 1970-01-01 00:00 +0000 test
| five
|
o 3 c8e68270e35a 1970-01-01 00:00 +0000 test
| four
|
o 2 eb57da33312f 1970-01-01 00:00 +0000 test
| three
|
o 1 579e40513370 1970-01-01 00:00 +0000 test
| two
|
o 0 6058cbb6cfd7 1970-01-01 00:00 +0000 test
one
Siddharth Agarwal
histedit: abort gracefully on --continue/--abort with no state...
r22368 histedit --continue/--abort with no existing state
--------------------------------------------------
$ hg histedit --continue
abort: no histedit in progress
Martin von Zweigbergk
errors: introduce StateError and use it from commands and cmdutil...
r46444 [20]
Taapas Agrawal
abort: added support for histedit...
r42787 $ hg abort
abort: no histedit in progress (abortflag !)
abort: no operation in progress (abortcommand !)
Martin von Zweigbergk
errors: introduce StateError and use it from commands and cmdutil...
r46444 [20]
Siddharth Agarwal
histedit: abort gracefully on --continue/--abort with no state...
r22368
Pierre-Yves David
histedit-test: rename histedit-revspec into histedit-argument...
r19035 Run a dummy edit to make sure we get tip^^ correctly via revsingle.
--------------------------------------------------------------------
$ HGEDITOR=cat hg histedit "tip^^"
pick eb57da33312f 2 three
pick c8e68270e35a 3 four
pick 08d98a8350f3 4 five
# Edit history between eb57da33312f and 08d98a8350f3
#
Adrian Zgorzałek
histedit: clarify description of fold command...
r20503 # Commits are listed from least to most recent
#
liscju
histedit: adds hint how to reorder changesets at editor (issue3766)
r28396 # You can reorder changesets by reordering the lines
#
Pierre-Yves David
histedit-test: rename histedit-revspec into histedit-argument...
r19035 # Commands:
timeless
histedit: prefer edit commit, edit message, use commit...
r27674 #
Augie Fackler
histedit: adjust comment describing `edit` action for clarity...
r46720 # e, edit = use commit, but allow edits before making new commit
timeless
histedit: prefer edit commit, edit message, use commit...
r27674 # m, mess = edit commit message without changing commit content
Pierre-Yves David
histedit-test: rename histedit-revspec into histedit-argument...
r19035 # p, pick = use commit
Saurabh Singh
histedit: removing the experimental config 'histeditng'...
r34490 # b, base = checkout changeset and apply further changesets from there
timeless
histedit: prefer edit commit, edit message, use commit...
r27674 # d, drop = remove commit from history
Matt Mackall
histedit: shorten new fold message...
r20511 # f, fold = use commit, but combine it with the one above
Ben Schmidt
histedit: modify rollup to discard date from the rollup commit (issue4820)...
r31056 # r, roll = like fold, but discard this commit's description and date
Pierre-Yves David
histedit-test: rename histedit-revspec into histedit-argument...
r19035 #
Run on a revision not ancestors of the current working directory.
--------------------------------------------------------------------
$ hg up 2
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg histedit -r 4
abort: 08d98a8350f3 is not an ancestor of working directory
Martin von Zweigbergk
histedit: use more specific exceptions for more detailed exit codes...
r48868 [10]
Pierre-Yves David
histedit: handle multiple spaces between action and hash (issue3893)...
r19039 $ hg up --quiet
David Soria Parra
histedit: select the lowest rev when looking for a root in a revset (bc)...
r20806
Test that we pick the minimum of a revrange
---------------------------------------
$ HGEDITOR=cat hg histedit '2::' --commands - << EOF
> pick eb57da33312f 2 three
> pick c8e68270e35a 3 four
> pick 08d98a8350f3 4 five
> EOF
$ hg up --quiet
$ HGEDITOR=cat hg histedit 'tip:2' --commands - << EOF
> pick eb57da33312f 2 three
> pick c8e68270e35a 3 four
> pick 08d98a8350f3 4 five
> EOF
$ hg up --quiet
Durham Goode
histedit: allow configuring default behavior...
r24009 Test config specified default
-----------------------------
$ HGEDITOR=cat hg histedit --config "histedit.defaultrev=only(.) - ::eb57da33312f" --commands - << EOF
> pick c8e68270e35a 3 four
> pick 08d98a8350f3 4 five
> EOF
rdamazio@google.com
histedit: crashing with a more useful error message on empty defaultrev...
r41202 Test invalid config default
---------------------------
$ hg histedit --config "histedit.defaultrev="
Martin von Zweigbergk
errors: raise ConfigError on failure to parse config file...
r46506 config error: config option histedit.defaultrev can't be empty
Martin von Zweigbergk
destutil: raise more specific error when histedit.defaultrev is empty...
r46447 [30]
rdamazio@google.com
histedit: crashing with a more useful error message on empty defaultrev...
r41202
FUJIWARA Katsunori
histedit: suggest "histedit --abort" for inconsistent histedit state...
r19847 Run on a revision not descendants of the initial parent
--------------------------------------------------------------------
Test the message shown for inconsistent histedit state, which may be
created (and forgotten) by Mercurial earlier than 2.7. This emulates
Mercurial earlier than 2.7 by renaming ".hg/histedit-state"
temporarily.
Durham Goode
histedit: allow histedit --continue when not on a descendant (BC)...
r24764 $ hg log -G -T '{rev} {shortest(node)} {desc}\n' -r 2::
@ 4 08d9 five
|
o 3 c8e6 four
|
o 2 eb57 three
|
Martijn Pieters
graphmod: set default edge styles for ascii graphs (BC)...
r28627 ~
FUJIWARA Katsunori
histedit: suggest "histedit --abort" for inconsistent histedit state...
r19847 $ HGEDITOR=cat hg histedit -r 4 --commands - << EOF
> edit 08d98a8350f3 4 five
> EOF
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Augie Fackler
histedit: tweak `edit` message to try and guide users to our workflow...
r46719 Editing (08d98a8350f3), commit as needed now to split the change
(to edit 08d98a8350f3, `hg histedit --continue` after making changes)
Martin von Zweigbergk
errors: add config that lets user get more detailed exit codes...
r46430 [240]
FUJIWARA Katsunori
histedit: suggest "histedit --abort" for inconsistent histedit state...
r19847
timeless
histedit: suggest the correct tool to continue (not histedit)...
r28123 $ hg graft --continue
abort: no graft in progress
(continue: hg histedit --continue)
Martin von Zweigbergk
errors: introduce StateError and use it from commands and cmdutil...
r46444 [20]
timeless
histedit: suggest the correct tool to continue (not histedit)...
r28123
FUJIWARA Katsunori
histedit: suggest "histedit --abort" for inconsistent histedit state...
r19847 $ mv .hg/histedit-state .hg/histedit-state.back
$ hg update --quiet --clean 2
Durham Goode
histedit: allow histedit --continue when not on a descendant (BC)...
r24764 $ echo alpha >> alpha
FUJIWARA Katsunori
histedit: suggest "histedit --abort" for inconsistent histedit state...
r19847 $ mv .hg/histedit-state.back .hg/histedit-state
$ hg histedit --continue
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/foo/.hg/strip-backup/08d98a8350f3-02594089-histedit.hg
Durham Goode
histedit: allow histedit --continue when not on a descendant (BC)...
r24764 $ hg log -G -T '{rev} {shortest(node)} {desc}\n' -r 2::
@ 4 f5ed five
|
| o 3 c8e6 four
|/
o 2 eb57 three
|
Martijn Pieters
graphmod: set default edge styles for ascii graphs (BC)...
r28627 ~
FUJIWARA Katsunori
histedit: suggest "histedit --abort" for inconsistent histedit state...
r19847
Jun Wu
histedit: use scmutil.cleanupnodes (BC)...
r33351 $ hg unbundle -q $TESTTMP/foo/.hg/strip-backup/08d98a8350f3-02594089-histedit.hg
Durham Goode
histedit: allow histedit --continue when not on a descendant (BC)...
r24764 $ hg strip -q -r f5ed --config extensions.strip=
$ hg up -q 08d98a8350f3
FUJIWARA Katsunori
histedit: suggest "histedit --abort" for inconsistent histedit state...
r19847
Pierre-Yves David
histedit-test: test that missing revisions are detected...
r19040 Test that missing revisions are detected
---------------------------------------
$ HGEDITOR=cat hg histedit "tip^^" --commands - << EOF
> pick eb57da33312f 2 three
> pick 08d98a8350f3 4 five
> EOF
timeless
histedit: use parse-error exception for parsing
r27545 hg: parse error: missing rules for changeset c8e68270e35a
timeless
histedit: use single quotes in use warning
r29970 (use "drop c8e68270e35a" to discard, see also: 'hg help -e histedit.config')
Martin von Zweigbergk
errors: use exit code 10 for parse errors...
r46507 [10]
Pierre-Yves David
histedit-test: test that missing revisions are detected...
r19040
Pierre-Yves David
histedit-test: test that extra revisions are detected...
r19041 Test that extra revisions are detected
---------------------------------------
$ HGEDITOR=cat hg histedit "tip^^" --commands - << EOF
> pick 6058cbb6cfd7 0 one
> pick c8e68270e35a 3 four
> pick 08d98a8350f3 4 five
> EOF
FUJIWARA Katsunori
histedit: show correct hash ID at verification error...
r27955 hg: parse error: pick "6058cbb6cfd7" changeset was not a candidate
timeless
histedit: report the unacceptable changeset
r27712 (only use listed changesets)
Martin von Zweigbergk
errors: use exit code 10 for parse errors...
r46507 [10]
Pierre-Yves David
histedit-test: test that extra revisions are detected...
r19041
Pierre-Yves David
histedit-test: test malformed line...
r19042 Test malformed line
---------------------------------------
$ HGEDITOR=cat hg histedit "tip^^" --commands - << EOF
> pickeb57da33312f2three
> pick c8e68270e35a 3 four
> pick 08d98a8350f3 4 five
> EOF
timeless
histedit: use parse-error exception for parsing
r27545 hg: parse error: malformed line "pickeb57da33312f2three"
Martin von Zweigbergk
errors: use exit code 10 for parse errors...
r46507 [10]
Pierre-Yves David
histedit-test: test malformed line...
r19042
Pierre-Yves David
histedit-test: test unknown changeset...
r19043 Test unknown changeset
---------------------------------------
$ HGEDITOR=cat hg histedit "tip^^" --commands - << EOF
> pick 0123456789ab 2 three
> pick c8e68270e35a 3 four
> pick 08d98a8350f3 4 five
> EOF
timeless
histedit: use parse-error exception for parsing
r27545 hg: parse error: unknown changeset 0123456789ab listed
Martin von Zweigbergk
errors: use exit code 10 for parse errors...
r46507 [10]
Pierre-Yves David
histedit-test: test unknown changeset...
r19043
Pierre-Yves David
histedit-test: test unknown command...
r19044 Test unknown command
---------------------------------------
$ HGEDITOR=cat hg histedit "tip^^" --commands - << EOF
> coin eb57da33312f 2 three
> pick c8e68270e35a 3 four
> pick 08d98a8350f3 4 five
> EOF
timeless
histedit: use parse-error exception for parsing
r27545 hg: parse error: unknown action "coin"
Martin von Zweigbergk
errors: use exit code 10 for parse errors...
r46507 [10]
Pierre-Yves David
histedit-test: test unknown command...
r19044
Pierre-Yves David
histedit: protect against duplicated entries...
r19047 Test duplicated changeset
---------------------------------------
So one is missing and one appear twice.
$ HGEDITOR=cat hg histedit "tip^^" --commands - << EOF
> pick eb57da33312f 2 three
> pick eb57da33312f 2 three
> pick 08d98a8350f3 4 five
> EOF
timeless
histedit: use parse-error exception for parsing
r27545 hg: parse error: duplicated command for changeset eb57da33312f
Martin von Zweigbergk
errors: use exit code 10 for parse errors...
r46507 [10]
Pierre-Yves David
histedit: protect against duplicated entries...
r19047
timeless
histedit: handle exceptions from node.bin in fromrule
r27547 Test bogus rev
---------------------------------------
$ HGEDITOR=cat hg histedit "tip^^" --commands - << EOF
> pick eb57da33312f 2 three
Sangeet Kumar Mishra
histedit: make histedit's commands accept revsets (issue5746)...
r37124 > pick 0u98
timeless
histedit: handle exceptions from node.bin in fromrule
r27547 > pick 08d98a8350f3 4 five
> EOF
Sangeet Kumar Mishra
histedit: make histedit's commands accept revsets (issue5746)...
r37124 hg: parse error: invalid changeset 0u98
Martin von Zweigbergk
errors: use exit code 10 for parse errors...
r46507 [10]
timeless
histedit: handle exceptions from node.bin in fromrule
r27547
Pierre-Yves David
histedit: handle multiple spaces between action and hash (issue3893)...
r19039 Test short version of command
---------------------------------------
Note: we use varying amounts of white space between command name and changeset
short hash. This tests issue3893.
$ HGEDITOR=cat hg histedit "tip^^" --commands - << EOF
> pick eb57da33312f 2 three
> p c8e68270e35a 3 four
> f 08d98a8350f3 4 five
> EOF
four
***
five
HG: Enter commit message. Lines beginning with 'HG:' are removed.
HG: Leave message empty to abort commit.
HG: --
HG: user: test
HG: branch 'default'
HG: changed alpha
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/foo/.hg/strip-backup/c8e68270e35a-63d8b8d8-histedit.hg
David Soria Parra
histedit: select the lowest rev when looking for a root in a revset (bc)...
r20806
$ hg update -q 2
$ echo x > x
$ hg add x
$ hg commit -m'x' x
created new head
$ hg histedit -r 'heads(all())'
abort: The specified revisions must have exactly one common root
Martin von Zweigbergk
histedit: use more specific exceptions for more detailed exit codes...
r48868 [10]
FUJIWARA Katsunori
histedit: use 'util.ellipsis' to trim description of each changesets...
r21858
Test that trimming description using multi-byte characters
--------------------------------------------------------------------
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" <<EOF
Augie Fackler
tests: add some b-prefixes on local script in test-histedit-arguments...
r36190 > fp = open('logfile', 'wb')
> fp.write(b'12345678901234567890123456789012345678901234567890' +
> b'12345') # there are 5 more columns for 80 columns
FUJIWARA Katsunori
histedit: use 'util.ellipsis' to trim description of each changesets...
r21858 >
> # 2 x 4 = 8 columns, but 3 x 4 = 12 bytes
> fp.write(u'\u3042\u3044\u3046\u3048'.encode('utf-8'))
>
> fp.close()
> EOF
$ echo xx >> x
$ hg --encoding utf-8 commit --logfile logfile
$ HGEDITOR=cat hg --encoding utf-8 histedit tip
pick 3d3ea1f3a10b 5 1234567890123456789012345678901234567890123456789012345\xe3\x81\x82... (esc)
# Edit history between 3d3ea1f3a10b and 3d3ea1f3a10b
#
# Commits are listed from least to most recent
#
liscju
histedit: adds hint how to reorder changesets at editor (issue3766)
r28396 # You can reorder changesets by reordering the lines
#
FUJIWARA Katsunori
histedit: use 'util.ellipsis' to trim description of each changesets...
r21858 # Commands:
timeless
histedit: prefer edit commit, edit message, use commit...
r27674 #
Augie Fackler
histedit: adjust comment describing `edit` action for clarity...
r46720 # e, edit = use commit, but allow edits before making new commit
timeless
histedit: prefer edit commit, edit message, use commit...
r27674 # m, mess = edit commit message without changing commit content
FUJIWARA Katsunori
histedit: use 'util.ellipsis' to trim description of each changesets...
r21858 # p, pick = use commit
Saurabh Singh
histedit: removing the experimental config 'histeditng'...
r34490 # b, base = checkout changeset and apply further changesets from there
timeless
histedit: prefer edit commit, edit message, use commit...
r27674 # d, drop = remove commit from history
FUJIWARA Katsunori
histedit: use 'util.ellipsis' to trim description of each changesets...
r21858 # f, fold = use commit, but combine it with the one above
Ben Schmidt
histedit: modify rollup to discard date from the rollup commit (issue4820)...
r31056 # r, roll = like fold, but discard this commit's description and date
FUJIWARA Katsunori
histedit: use 'util.ellipsis' to trim description of each changesets...
r21858 #
Durham Goode
histedit: fix keep during --continue...
r25330
Test --continue with --keep
$ hg strip -q -r . --config extensions.strip=
$ hg histedit '.^' -q --keep --commands - << EOF
> edit eb57da33312f 2 three
> pick f3cfcca30c44 4 x
> EOF
Augie Fackler
histedit: tweak `edit` message to try and guide users to our workflow...
r46719 Editing (eb57da33312f), commit as needed now to split the change
(to edit eb57da33312f, `hg histedit --continue` after making changes)
Martin von Zweigbergk
errors: add config that lets user get more detailed exit codes...
r46430 [240]
Durham Goode
histedit: fix keep during --continue...
r25330 $ echo edit >> alpha
$ hg histedit -q --continue
$ hg log -G -T '{rev}:{node|short} {desc}'
@ 6:8fda0c726bf2 x
|
o 5:63379946892c three
|
| o 4:f3cfcca30c44 x
| |
| | o 3:2a30f3cfee78 four
| |/ ***
| | five
| o 2:eb57da33312f three
|/
o 1:579e40513370 two
|
o 0:6058cbb6cfd7 one
Christian Delahousse
histedit: delete histedit statefile on any exception during abort...
r26584
Test that abort fails gracefully on exception
----------------------------------------------
$ hg histedit . -q --commands - << EOF
> edit 8fda0c726bf2 6 x
> EOF
Augie Fackler
histedit: tweak `edit` message to try and guide users to our workflow...
r46719 Editing (8fda0c726bf2), commit as needed now to split the change
(to edit 8fda0c726bf2, `hg histedit --continue` after making changes)
Martin von Zweigbergk
errors: add config that lets user get more detailed exit codes...
r46430 [240]
Christian Delahousse
histedit: delete histedit statefile on any exception during abort...
r26584 Corrupt histedit state file
$ sed 's/8fda0c726bf2/123456789012/' .hg/histedit-state > ../corrupt-histedit
$ mv ../corrupt-histedit .hg/histedit-state
Taapas Agrawal
abort: added support for histedit...
r42787 $ hg abort
Christian Delahousse
histedit: delete histedit statefile on any exception during abort...
r26584 warning: encountered an exception during histedit --abort; the repository may not have been completely cleaned up
Matt Harbison
tests: add a substitution for ENOENT/ERROR_FILE_NOT_FOUND messages...
r35230 abort: $TESTTMP/foo/.hg/strip-backup/*-histedit.hg: $ENOENT$ (glob) (windows !)
Yuya Nishihara
dispatch: quote filename in IOError as well...
r41465 abort: $ENOENT$: '$TESTTMP/foo/.hg/strip-backup/*-histedit.hg' (glob) (no-windows !)
Christian Delahousse
histedit: delete histedit statefile on any exception during abort...
r26584 [255]
Histedit state has been exited
$ hg summary -q
parent: 5:63379946892c
commit: 1 added, 1 unknown (new branch head)
update: 4 new changesets (update)
Gregory Szorc
histedit: pick an appropriate base changeset by default (BC)...
r27262 $ cd ..
Set up default base revision tests
$ hg init defaultbase
$ cd defaultbase
$ touch foo
$ hg -q commit -A -m root
$ echo 1 > foo
$ hg commit -m 'public 1'
$ hg phase --force --public -r .
$ echo 2 > foo
$ hg commit -m 'draft after public'
$ hg -q up -r 1
$ echo 3 > foo
$ hg commit -m 'head 1 public'
created new head
$ hg phase --force --public -r .
$ echo 4 > foo
$ hg commit -m 'head 1 draft 1'
$ echo 5 > foo
$ hg commit -m 'head 1 draft 2'
$ hg -q up -r 2
$ echo 6 > foo
$ hg commit -m 'head 2 commit 1'
$ echo 7 > foo
$ hg commit -m 'head 2 commit 2'
$ hg -q up -r 2
$ echo 8 > foo
$ hg commit -m 'head 3'
created new head
$ hg -q up -r 2
$ echo 9 > foo
$ hg commit -m 'head 4'
created new head
$ hg merge --tool :local -r 8
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg commit -m 'merge head 3 into head 4'
$ echo 11 > foo
$ hg commit -m 'commit 1 after merge'
$ echo 12 > foo
$ hg commit -m 'commit 2 after merge'
$ hg log -G -T '{rev}:{node|short} {phase} {desc}\n'
@ 12:8cde254db839 draft commit 2 after merge
|
o 11:6f2f0241f119 draft commit 1 after merge
|
o 10:90506cc76b00 draft merge head 3 into head 4
|\
| o 9:f8607a373a97 draft head 4
| |
o | 8:0da92be05148 draft head 3
|/
| o 7:4c35cdf97d5e draft head 2 commit 2
| |
| o 6:931820154288 draft head 2 commit 1
|/
| o 5:8cdc02b9bc63 draft head 1 draft 2
| |
| o 4:463b8c0d2973 draft head 1 draft 1
| |
| o 3:23a0c4eefcbf public head 1 public
| |
o | 2:4117331c3abb draft draft after public
|/
o 1:4426d359ea59 public public 1
|
o 0:54136a8ddf32 public root
Default base revision should stop at public changesets
$ hg -q up 8cdc02b9bc63
$ hg histedit --commands - <<EOF
> pick 463b8c0d2973
> pick 8cdc02b9bc63
> EOF
Default base revision should stop at branchpoint
$ hg -q up 4c35cdf97d5e
$ hg histedit --commands - <<EOF
> pick 931820154288
> pick 4c35cdf97d5e
> EOF
Default base revision should stop at merge commit
$ hg -q up 8cde254db839
$ hg histedit --commands - <<EOF
> pick 6f2f0241f119
> pick 8cde254db839
> EOF
timeless
commit: block amend while histedit is in progress (issue4800)
r28359
commit --amend should abort if histedit is in progress
(issue4800) and markers are not being created.
Eventually, histedit could perhaps look at `source` extra,
in which case this test should be revisited.
$ hg -q up 8cde254db839
$ hg histedit 6f2f0241f119 --commands - <<EOF
> pick 8cde254db839
> edit 6f2f0241f119
> EOF
merging foo
warning: conflicts while merging foo! (edit, then use 'hg resolve --mark')
Fix up the change (pick 8cde254db839)
(hg histedit --continue to resume)
Martin von Zweigbergk
errors: add config that lets user get more detailed exit codes...
r46430 [240]
timeless
commit: block amend while histedit is in progress (issue4800)
r28359 $ hg resolve -m --all
(no more unresolved files)
continue: hg histedit --continue
$ hg histedit --cont
merging foo
warning: conflicts while merging foo! (edit, then use 'hg resolve --mark')
Augie Fackler
histedit: tweak `edit` message to try and guide users to our workflow...
r46719 Editing (6f2f0241f119), commit as needed now to split the change
(to edit 6f2f0241f119, `hg histedit --continue` after making changes)
Martin von Zweigbergk
errors: add config that lets user get more detailed exit codes...
r46430 [240]
timeless
commit: block amend while histedit is in progress (issue4800)
r28359 $ hg resolve -m --all
(no more unresolved files)
continue: hg histedit --continue
$ hg commit --amend -m 'reject this fold'
abort: histedit in progress
(use 'hg histedit --continue' or 'hg histedit --abort')
Martin von Zweigbergk
errors: introduce StateError and use it from commands and cmdutil...
r46444 [20]
timeless
commit: block amend while histedit is in progress (issue4800)
r28359
With markers enabled, histedit does not get confused, and
amend should not be blocked by the ongoing histedit.
$ cat >>$HGRCPATH <<EOF
> [experimental]
Boris Feld
config: use 'experimental.evolution.create-markers'...
r34867 > evolution.createmarkers=True
Boris Feld
config: use 'experimental.evolution.allowunstable'...
r34868 > evolution.allowunstable=True
timeless
commit: block amend while histedit is in progress (issue4800)
r28359 > EOF
$ hg commit --amend -m 'allow this fold'
$ hg histedit --continue
Sean Farley
histedit: add experimental config for using the first word of the commit...
r29214
$ cd ..
Test autoverb feature
$ hg init autoverb
$ cd autoverb
$ echo alpha >> alpha
Sean Farley
histedit: move autoverb rule to the commit it matches...
r29470 $ hg ci -qAm one
Sean Farley
histedit: add experimental config for using the first word of the commit...
r29214 $ echo alpha >> alpha
Sean Farley
histedit: move autoverb rule to the commit it matches...
r29470 $ hg ci -qm two
$ echo beta >> beta
$ hg ci -qAm "roll! one"
Sean Farley
histedit: add experimental config for using the first word of the commit...
r29214
$ hg log --style compact --graph
Sean Farley
histedit: move autoverb rule to the commit it matches...
r29470 @ 2[tip] 4f34d0f8b5fa 1970-01-01 00:00 +0000 test
| roll! one
Sean Farley
histedit: add experimental config for using the first word of the commit...
r29214 |
o 1 579e40513370 1970-01-01 00:00 +0000 test
| two
|
o 0 6058cbb6cfd7 1970-01-01 00:00 +0000 test
one
Check that 'roll' is selected by default
Sean Farley
histedit: move autoverb rule to the commit it matches...
r29470 $ HGEDITOR=cat hg histedit 0 --config experimental.histedit.autoverb=True
pick 6058cbb6cfd7 0 one
roll 4f34d0f8b5fa 2 roll! one
Sean Farley
histedit: add experimental config for using the first word of the commit...
r29214 pick 579e40513370 1 two
Sean Farley
histedit: move autoverb rule to the commit it matches...
r29470 # Edit history between 6058cbb6cfd7 and 4f34d0f8b5fa
Sean Farley
histedit: add experimental config for using the first word of the commit...
r29214 #
# Commits are listed from least to most recent
#
# You can reorder changesets by reordering the lines
#
# Commands:
#
Augie Fackler
histedit: adjust comment describing `edit` action for clarity...
r46720 # e, edit = use commit, but allow edits before making new commit
Sean Farley
histedit: add experimental config for using the first word of the commit...
r29214 # m, mess = edit commit message without changing commit content
# p, pick = use commit
Saurabh Singh
histedit: removing the experimental config 'histeditng'...
r34490 # b, base = checkout changeset and apply further changesets from there
Sean Farley
histedit: add experimental config for using the first word of the commit...
r29214 # d, drop = remove commit from history
# f, fold = use commit, but combine it with the one above
Ben Schmidt
histedit: modify rollup to discard date from the rollup commit (issue4820)...
r31056 # r, roll = like fold, but discard this commit's description and date
Sean Farley
histedit: add experimental config for using the first word of the commit...
r29214 #
$ cd ..
Sangeet Kumar Mishra
histedit: make histedit's commands accept revsets (issue5746)...
r37124
Check that histedit's commands accept revsets
$ hg init bar
$ cd bar
$ echo w >> a
$ hg ci -qAm "adds a"
$ echo x >> b
$ hg ci -qAm "adds b"
$ echo y >> c
$ hg ci -qAm "adds c"
$ echo z >> d
$ hg ci -qAm "adds d"
$ hg log -G -T '{rev} {desc}\n'
@ 3 adds d
|
o 2 adds c
|
o 1 adds b
|
o 0 adds a
$ HGEDITOR=cat hg histedit "2" --commands - << EOF
> base -4 adds c
> pick 2 adds c
> pick tip adds d
> EOF
$ hg log -G -T '{rev} {desc}\n'
@ 5 adds d
|
o 4 adds c
|
| o 1 adds b
|/
o 0 adds a