##// END OF EJS Templates
issue6528: add a config option to control the fixing on the fly...
issue6528: add a config option to control the fixing on the fly This will allow people who know to be safe to avoid any performance overhead (and other potential issue). Differential Revision: https://phab.mercurial-scm.org/D11271

File last commit:

r47567:5a0b930c default
r48630:2813d406 5.9rc1 stable
Show More
test-histedit-non-commute-abort.t
174 lines | 4.7 KiB | text/troff | Tads3Lexer
/ tests / test-histedit-non-commute-abort.t
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 $ . "$TESTDIR/histedit-helpers.sh"
$ cat >> $HGRCPATH <<EOF
> [extensions]
> histedit=
> EOF
$ initrepo ()
> {
> hg init r
> cd r
> for x in a b c d e f ; do
> echo $x > $x
> hg add $x
> hg ci -m $x
> done
> echo a >> e
> hg ci -m 'does not commute with e'
> cd ..
> }
$ initrepo
$ cd r
log before edit
$ hg log --graph
@ changeset: 6:bfa474341cc9
| tag: tip
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: does not commute with e
|
o changeset: 5:652413bf663e
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: f
|
o changeset: 4:e860deea161a
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: e
|
o changeset: 3:055a42cdd887
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: d
|
o changeset: 2:177f92b77385
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: c
|
o changeset: 1:d2ae7f538514
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: b
|
o changeset: 0:cb9a9f314b8b
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: a
edit the history
Pierre-Yves David
histedit-test: generalise --commands "-" usage...
r19019 $ hg histedit 177f92b77385 --commands - 2>&1 <<EOF | fixbundle
> pick 177f92b77385 c
> pick 055a42cdd887 d
> pick bfa474341cc9 does not commute with e
> pick e860deea161a e
> pick 652413bf663e f
> EOF
Pierre-Yves David
histedit: replaces patching logic by merges...
r17647 merging e
Siddharth Agarwal
simplemerge: move conflict warning message to filemerge...
r26614 warning: conflicts while merging e! (edit, then use 'hg resolve --mark')
timeless
histedit: list action when intervention is required
r27629 Fix up the change (pick e860deea161a)
(hg histedit --continue to resume)
Mads Kiilerich
tests: convert histedit tests to .t...
r17085
Siddharth Agarwal
mergestate: handle additional record types specially...
r27027 insert unsupported advisory merge record
$ hg --config extensions.fakemergerecord=$TESTDIR/fakemergerecord.py fakemergerecord -x
$ hg debugmergestate
Martin von Zweigbergk
debugmergestate: make templated...
r44880 local (local): 8f7551c7e4a2f2efe0bc8c741baf7f227d65d758
other (histedit): e860deea161a2f77de56603b340ebbb4536308ae
file: e (state "u")
local path: e (hash 58e6b3a414a1e090dfc6029add0f3555ccba127f, flags "")
ancestor path: e (node 0000000000000000000000000000000000000000)
Siddharth Agarwal
mergestate: handle additional record types specially...
r27027 other path: e (node 6b67ccefd5ce6de77e7ead4f5292843a0255329f)
Martin von Zweigbergk
debugmergestate: make templated...
r44880 extra: ancestorlinknode = 0000000000000000000000000000000000000000
Pulkit Goyal
commit: get info from mergestate whether a file was merged or not...
r47567 extra: merged = yes
Siddharth Agarwal
mergestate: handle additional record types specially...
r27027 $ hg resolve -l
U e
Mads Kiilerich
tests: convert histedit tests to .t...
r17085
Siddharth Agarwal
mergestate: handle additional record types specially...
r27027 insert unsupported mandatory merge record
$ hg --config extensions.fakemergerecord=$TESTDIR/fakemergerecord.py fakemergerecord -X
$ hg debugmergestate
Martin von Zweigbergk
debugmergestate: make templated...
r44880 abort: unsupported merge state records: X
(see https://mercurial-scm.org/wiki/MergeStateRecords for more information)
[255]
Siddharth Agarwal
mergestate: handle additional record types specially...
r27027 $ hg resolve -l
abort: unsupported merge state records: X
(see https://mercurial-scm.org/wiki/MergeStateRecords for more information)
[255]
$ hg resolve -ma
abort: unsupported merge state records: X
(see https://mercurial-scm.org/wiki/MergeStateRecords for more information)
[255]
abort the edit (should clear out merge state)
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 $ hg histedit --abort 2>&1 | fixbundle
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Siddharth Agarwal
mergestate: handle additional record types specially...
r27027 $ hg debugmergestate
no merge state found
Mads Kiilerich
tests: convert histedit tests to .t...
r17085
log after abort
Pierre-Yves David
histedit: replaces patching logic by merges...
r17647 $ hg resolve -l
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 $ hg log --graph
@ changeset: 6:bfa474341cc9
| tag: tip
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: does not commute with e
|
o changeset: 5:652413bf663e
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: f
|
o changeset: 4:e860deea161a
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: e
|
o changeset: 3:055a42cdd887
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: d
|
o changeset: 2:177f92b77385
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: c
|
o changeset: 1:d2ae7f538514
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: b
|
o changeset: 0:cb9a9f314b8b
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: a
Augie Fackler
histedit: sniff-test for untracked file conflicts before prompting for rules...
r43247 Early tree conflict doesn't leave histedit in a wedged state. Note
that we don't specify --commands here: we catch the problem before we
even prompt the user for rules, sidestepping any dataloss issues.
Augie Fackler
histedit: demonstrate breakage when `update` to a revision breaks...
r43246 $ hg rm c
$ hg ci -m 'remove c'
$ echo collision > c
Augie Fackler
histedit: sniff-test for untracked file conflicts before prompting for rules...
r43247 $ hg histedit e860deea161a
Augie Fackler
histedit: demonstrate breakage when `update` to a revision breaks...
r43246 c: untracked file differs
Augie Fackler
histedit: sniff-test for untracked file conflicts before prompting for rules...
r43247 abort: untracked files in working directory conflict with files in 055a42cdd887
Augie Fackler
histedit: demonstrate breakage when `update` to a revision breaks...
r43246 [255]
Augie Fackler
histedit: sniff-test for untracked file conflicts before prompting for rules...
r43247 We should have detected the collision early enough we're not in a
histedit state, and p1 is unchanged.
Augie Fackler
histedit: demonstrate breakage when `update` to a revision breaks...
r43246
$ hg log -r 'p1()' -T'{node}\n'
1b0954ff00fccb15a37b679e4a35e9b01dfe685e
$ hg status --config ui.tweakdefaults=yes
? c
? e.orig
Mads Kiilerich
tests: convert histedit tests to .t...
r17085 $ cd ..