##// END OF EJS Templates
exchange: support for streaming clone bundles...
exchange: support for streaming clone bundles Now that we have a mechanism to produce and consume streaming clone bundles, we need to teach the human-facing bundle specification parser and the internal bundle file header reading code to be aware of this new format. This patch does so. For the human-facing bundle specification, we choose the name "packed" to describe "streaming clone bundles" because the bundle is essentially a "pack" of raw revlog files that are "packed" together. There should probably be a bikeshed over the name, especially since it is human facing.

File last commit:

r26752:949e8c62 default
r26756:9e272a96 default
Show More
test-backout.t
741 lines | 15.8 KiB | text/troff | Tads3Lexer
Martin Geisler
tests: unify test-backout
r11856 $ hg init basic
$ cd basic
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 should complain
Martin Geisler
tests: unify test-backout
r11856
$ hg backout
abort: please specify a revision to backout
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-backout
r11856 $ hg backout -r 0 0
abort: please specify just one revision
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-backout
r11856
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 basic operation
FUJIWARA Katsunori
backout: use "getcommiteditor()" instead of explicit editor choice...
r21413 (this also tests that editor is invoked if the commit message is not
specified explicitly)
Martin Geisler
tests: unify test-backout
r11856
$ echo a > a
$ hg commit -d '0 0' -A -m a
adding a
$ echo b >> a
$ hg commit -d '1 0' -m b
FUJIWARA Katsunori
backout: use "getcommiteditor()" instead of explicit editor choice...
r21413 $ hg status --rev tip --rev "tip^1"
M a
$ HGEDITOR=cat hg backout -d '2 0' tip --tool=true
Martin Geisler
tests: unify test-backout
r11856 reverting a
FUJIWARA Katsunori
backout: use "getcommiteditor()" instead of explicit editor choice...
r21413 Backed out changeset a820f4f40a57
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 a
Martin Geisler
tests: unify test-backout
r11856 changeset 2:2929462c3dff backs out changeset 1:a820f4f40a57
$ cat a
a
Pierre-Yves David
test-backout: add multiple summary calls to monitor result wc...
r20270 $ hg summary
parent: 2:2929462c3dff tip
Backed out changeset a820f4f40a57
branch: default
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 3 draft
Martin Geisler
tests: unify test-backout
r11856
Mateusz Kwapich
backout: add --commit option...
r23615 commit option
$ cd ..
$ hg init commit
$ cd commit
$ echo tomatoes > a
$ hg add a
$ hg commit -d '0 0' -m tomatoes
$ echo chair > b
$ hg add b
$ hg commit -d '1 0' -m chair
$ echo grapes >> a
$ hg commit -d '2 0' -m grapes
$ hg backout --commit -d '4 0' 1 --tool=:fail
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
changeset 3:1c2161e97c0a backs out changeset 1:22cb4f70d813
$ hg summary
parent: 3:1c2161e97c0a tip
Backed out changeset 22cb4f70d813
branch: default
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 4 draft
Mateusz Kwapich
backout: add --commit option...
r23615
$ echo ypples > a
$ hg commit -d '5 0' -m ypples
$ hg backout --commit -d '6 0' 2 --tool=:fail
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
use 'hg resolve' to retry unresolved file merges
[1]
$ hg summary
parent: 4:ed99997b793d tip
ypples
branch: default
commit: 1 unresolved (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 5 draft
Mateusz Kwapich
backout: add --commit option...
r23615
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 file that was removed is recreated
FUJIWARA Katsunori
backout: use "getcommiteditor()" instead of explicit editor choice...
r21413 (this also tests that editor is not invoked if the commit message is
specified explicitly)
Martin Geisler
tests: unify test-backout
r11856
$ cd ..
$ hg init remove
$ cd remove
$ echo content > a
$ hg commit -d '0 0' -A -m a
adding a
$ hg rm a
$ hg commit -d '1 0' -m b
FUJIWARA Katsunori
backout: use "getcommiteditor()" instead of explicit editor choice...
r21413 $ HGEDITOR=cat hg backout -d '2 0' tip --tool=true -m "Backed out changeset 76862dcce372"
Martin Geisler
tests: unify test-backout
r11856 adding a
changeset 2:de31bdc76c0d backs out changeset 1:76862dcce372
$ cat a
content
Pierre-Yves David
test-backout: add multiple summary calls to monitor result wc...
r20270 $ hg summary
parent: 2:de31bdc76c0d tip
Backed out changeset 76862dcce372
branch: default
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 3 draft
Martin Geisler
tests: unify test-backout
r11856
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 backout of backout is as if nothing happened
Martin Geisler
tests: unify test-backout
r11856
Steve Borho
backout: add --tool argument for specifying merge tool
r12810 $ hg backout -d '3 0' --merge tip --tool=true
Martin Geisler
tests: unify test-backout
r11856 removing a
changeset 3:7f6d0f120113 backs out changeset 2:de31bdc76c0d
Mads Kiilerich
tests: remove hacks for testing if file or directory exists
r15515 $ test -f a
[1]
Pierre-Yves David
test-backout: add multiple summary calls to monitor result wc...
r20270 $ hg summary
parent: 3:7f6d0f120113 tip
Backed out changeset de31bdc76c0d
branch: default
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 4 draft
Martin Geisler
tests: unify test-backout
r11856
FUJIWARA Katsunori
localrepo: make journal.dirstate contain in-memory changes before transaction...
r25878 Test that 'hg rollback' restores dirstate just before opening
transaction: in-memory dirstate changes should be written into
'.hg/journal.dirstate' as expected.
$ echo 'removed soon' > b
$ hg commit -A -d '4 0' -m 'prepare for subsequent removing'
adding b
$ echo 'newly added' > c
$ hg add c
$ hg remove b
$ hg commit -d '5 0' -m 'prepare for subsequent backout'
$ touch -t 200001010000 c
$ hg status -A
C c
$ hg debugstate --nodates
n 644 12 set c
$ hg backout -d '6 0' -m 'to be rollback-ed soon' -r .
adding b
removing c
changeset 6:4bfec048029d backs out changeset 5:fac0b729a654
$ hg rollback -q
$ hg status -A
A b
R c
$ hg debugstate --nodates
a 0 -1 unset b
r 0 0 set c
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 across branch
Martin Geisler
tests: unify test-backout
r11856
$ cd ..
$ hg init branch
$ cd branch
$ echo a > a
$ hg ci -Am0
adding a
$ echo b > b
$ hg ci -Am1
adding b
$ hg co -C 0
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
Pierre-Yves David
test-backout: add multiple summary calls to monitor result wc...
r20270 $ hg summary
parent: 0:f7b1eb17ad24
0
branch: default
commit: (clean)
update: 1 new changesets (update)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 2 draft
Martin Geisler
tests: unify test-backout
r11856
should fail
$ hg backout 1
Mads Kiilerich
backout: improve confusing 'cannot backout change on a different branch' abort...
r20791 abort: cannot backout change that is not an ancestor
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-backout
r11856 $ echo c > c
$ hg ci -Am2
adding c
created new head
Pierre-Yves David
test-backout: add multiple summary calls to monitor result wc...
r20270 $ hg summary
parent: 2:db815d6d32e6 tip
2
branch: default
commit: (clean)
update: 1 new changesets, 2 branch heads (merge)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 3 draft
Martin Geisler
tests: unify test-backout
r11856
should fail
$ hg backout 1
Mads Kiilerich
backout: improve confusing 'cannot backout change on a different branch' abort...
r20791 abort: cannot backout change that is not an ancestor
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Pierre-Yves David
test-backout: add multiple summary calls to monitor result wc...
r20270 $ hg summary
parent: 2:db815d6d32e6 tip
2
branch: default
commit: (clean)
update: 1 new changesets, 2 branch heads (merge)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 3 draft
Martin Geisler
tests: unify test-backout
r11856
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 backout with merge
Martin Geisler
tests: unify test-backout
r11856
$ cd ..
$ hg init merge
$ cd merge
$ echo line 1 > a
$ echo line 2 >> a
$ hg commit -d '0 0' -A -m a
adding a
Pierre-Yves David
test-backout: add multiple summary calls to monitor result wc...
r20270 $ hg summary
parent: 0:59395513a13a tip
a
branch: default
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 1 draft
Martin Geisler
tests: unify test-backout
r11856
remove line 1
$ echo line 2 > a
$ hg commit -d '1 0' -m b
$ echo line 3 >> a
$ hg commit -d '2 0' -m c
Steve Borho
backout: add --tool argument for specifying merge tool
r12810 $ hg backout --merge -d '3 0' 1 --tool=true
Martin Geisler
tests: unify test-backout
r11856 reverting a
created new head
changeset 3:26b8ccb9ad91 backs out changeset 1:5a50a024c182
merging with changeset 3:26b8ccb9ad91
merging a
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg commit -d '4 0' -m d
Pierre-Yves David
test-backout: add multiple summary calls to monitor result wc...
r20270 $ hg summary
parent: 4:c7df5e0b9c09 tip
d
branch: default
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 5 draft
Martin Geisler
tests: unify test-backout
r11856
check line 1 is back
$ cat a
line 1
line 2
line 3
FUJIWARA Katsunori
hook: centralize passing HG_PENDING to external hook process...
r26751 Test visibility of in-memory dirstate changes outside transaction to
external hook process
$ cat > $TESTTMP/checkvisibility.sh <<EOF
> echo "==== \$1:"
> hg parents --template "{rev}:{node|short}\n"
> echo "===="
> EOF
"hg backout --merge REV1" at REV2 below implies steps below:
(1) update to REV1 (REV2 => REV1)
(2) revert by REV1^1
(3) commit backnig out revision (REV3)
(4) update to REV2 (REV3 => REV2)
(5) merge with REV3 (REV2 => REV2, REV3)
== test visibility to external preupdate hook
$ hg update -q -C 2
$ hg --config extensions.strip= strip 3
saved backup bundle to * (glob)
$ cat >> .hg/hgrc <<EOF
> [hooks]
> preupdate.visibility = sh $TESTTMP/checkvisibility.sh preupdate
> EOF
("-m" is needed to avoid writing dirstte changes out at other than
invocation of the hook to be examined)
$ hg backout --merge -d '3 0' 1 --tool=true -m 'fixed comment'
==== preupdate:
2:6ea3f2a197a2
====
reverting a
created new head
changeset 3:d92a3f57f067 backs out changeset 1:5a50a024c182
==== preupdate:
3:d92a3f57f067
====
merging with changeset 3:d92a3f57f067
==== preupdate:
2:6ea3f2a197a2
====
merging a
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ cat >> .hg/hgrc <<EOF
> [hooks]
> preupdate.visibility =
> EOF
FUJIWARA Katsunori
merge: make in-memory changes visible to external update hooks...
r26752 == test visibility to external update hook
$ hg update -q -C 2
$ hg --config extensions.strip= strip 3
saved backup bundle to * (glob)
$ cat >> .hg/hgrc <<EOF
> [hooks]
> update.visibility = sh $TESTTMP/checkvisibility.sh update
> EOF
$ hg backout --merge -d '3 0' 1 --tool=true -m 'fixed comment'
==== update:
1:5a50a024c182
====
reverting a
created new head
changeset 3:d92a3f57f067 backs out changeset 1:5a50a024c182
==== update:
2:6ea3f2a197a2
====
merging with changeset 3:d92a3f57f067
merging a
==== update:
2:6ea3f2a197a2
3:d92a3f57f067
====
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ cat >> .hg/hgrc <<EOF
> [hooks]
> update.visibility =
> EOF
Mads Kiilerich
tests: cleanup of tests that got lost in their own nested directories...
r16912 $ cd ..
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 backout should not back out subsequent changesets
Martin Geisler
tests: unify test-backout
r11856
$ hg init onecs
$ cd onecs
$ echo 1 > a
$ hg commit -d '0 0' -A -m a
adding a
$ echo 2 >> a
$ hg commit -d '1 0' -m b
$ echo 1 > b
$ hg commit -d '2 0' -A -m c
adding b
Pierre-Yves David
test-backout: add multiple summary calls to monitor result wc...
r20270 $ hg summary
parent: 2:882396649954 tip
c
branch: default
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 3 draft
Gilles Moris
backout: provide linear backout as a default (without --merge option)...
r12727
without --merge
Steve Borho
backout: add --tool argument for specifying merge tool
r12810 $ hg backout -d '3 0' 1 --tool=true
Gilles Moris
backout: provide linear backout as a default (without --merge option)...
r12727 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Pierre-Yves David
backout: add a message after backout that need manual commit...
r20276 changeset 22bca4c721e5 backed out, don't forget to commit.
Gilles Moris
backout: provide linear backout as a default (without --merge option)...
r12727 $ hg locate b
b
$ hg update -C tip
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg locate b
b
Pierre-Yves David
test-backout: add multiple summary calls to monitor result wc...
r20270 $ hg summary
parent: 2:882396649954 tip
c
branch: default
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 3 draft
Gilles Moris
backout: provide linear backout as a default (without --merge option)...
r12727
with --merge
Steve Borho
backout: add --tool argument for specifying merge tool
r12810 $ hg backout --merge -d '3 0' 1 --tool=true
Gilles Moris
backout: provide linear backout as a default (without --merge option)...
r12727 reverting a
Martin Geisler
tests: unify test-backout
r11856 created new head
changeset 3:3202beb76721 backs out changeset 1:22bca4c721e5
Gilles Moris
backout: provide linear backout as a default (without --merge option)...
r12727 merging with changeset 3:3202beb76721
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Martin Geisler
tests: unify test-backout
r11856 $ hg locate b
b
$ hg update -C tip
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg locate b
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Martin Geisler
tests: unify test-backout
r11856
$ cd ..
$ hg init m
$ cd m
$ echo a > a
$ hg commit -d '0 0' -A -m a
adding a
$ echo b > b
$ hg commit -d '1 0' -A -m b
adding b
$ echo c > c
$ hg commit -d '2 0' -A -m b
adding c
$ hg update 1
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo d > d
$ hg commit -d '3 0' -A -m c
adding d
created new head
$ hg merge 2
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg commit -d '4 0' -A -m d
Pierre-Yves David
test-backout: add multiple summary calls to monitor result wc...
r20270 $ hg summary
parent: 4:b2f3bb92043e tip
d
branch: default
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 5 draft
Martin Geisler
tests: unify test-backout
r11856
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 backout of merge should fail
Martin Geisler
tests: unify test-backout
r11856
$ hg backout 4
Matt Mackall
backout: deprecate/hide support for backing out merges...
r15211 abort: cannot backout a merge changeset
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-backout
r11856
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 backout of merge with bad parent should fail
Martin Geisler
tests: unify test-backout
r11856
$ hg backout --parent 0 4
abort: cb9a9f314b8b is not a parent of b2f3bb92043e
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-backout
r11856
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 backout of non-merge with parent should fail
Martin Geisler
tests: unify test-backout
r11856
$ hg backout --parent 0 3
abort: cannot use --parent on non-merge changeset
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Martin Geisler
tests: unify test-backout
r11856
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 backout with valid parent should be ok
Martin Geisler
tests: unify test-backout
r11856
Steve Borho
backout: add --tool argument for specifying merge tool
r12810 $ hg backout -d '5 0' --parent 2 4 --tool=true
Martin Geisler
tests: unify test-backout
r11856 removing d
changeset 5:10e5328c8435 backs out changeset 4:b2f3bb92043e
Pierre-Yves David
test-backout: add multiple summary calls to monitor result wc...
r20270 $ hg summary
parent: 5:10e5328c8435 tip
Backed out changeset b2f3bb92043e
branch: default
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 6 draft
Martin Geisler
tests: unify test-backout
r11856
$ hg rollback
Gilles Moris
rollback: clarifies the message about the reverted state (issue2628)...
r13446 repository tip rolled back to revision 4 (undo commit)
working directory now based on revision 4
Martin Geisler
tests: unify test-backout
r11856 $ hg update -C
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Pierre-Yves David
test-backout: add multiple summary calls to monitor result wc...
r20270 $ hg summary
parent: 4:b2f3bb92043e tip
d
branch: default
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 5 draft
Martin Geisler
tests: unify test-backout
r11856
Steve Borho
backout: add --tool argument for specifying merge tool
r12810 $ hg backout -d '6 0' --parent 3 4 --tool=true
Martin Geisler
tests: unify test-backout
r11856 removing c
changeset 5:033590168430 backs out changeset 4:b2f3bb92043e
Pierre-Yves David
test-backout: add multiple summary calls to monitor result wc...
r20270 $ hg summary
parent: 5:033590168430 tip
Backed out changeset b2f3bb92043e
branch: default
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 6 draft
Martin Geisler
tests: unify test-backout
r11856
$ cd ..
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 named branches
Martin Geisler
tests: unify test-backout
r11856
$ hg init named_branches
$ cd named_branches
$ echo default > default
$ hg ci -d '0 0' -Am default
adding default
$ hg branch branch1
marked working directory as branch branch1
Matt Mackall
branch: warn on branching
r15615 (branches are permanent and global, did you want a bookmark?)
Martin Geisler
tests: unify test-backout
r11856 $ echo branch1 > file1
$ hg ci -d '1 0' -Am file1
adding file1
$ hg branch branch2
marked working directory as branch branch2
$ echo branch2 > file2
$ hg ci -d '2 0' -Am file2
adding file2
Gilles Moris
backout: provide linear backout as a default (without --merge option)...
r12727
without --merge
Steve Borho
backout: add --tool argument for specifying merge tool
r12810 $ hg backout -r 1 --tool=true
Pierre-Yves David
backout: avoid update on simple case....
r20275 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
Pierre-Yves David
backout: add a message after backout that need manual commit...
r20276 changeset bf1602f437f3 backed out, don't forget to commit.
Gilles Moris
backout: provide linear backout as a default (without --merge option)...
r12727 $ hg branch
branch2
$ hg status -A
R file1
C default
C file2
Pierre-Yves David
test-backout: add multiple summary calls to monitor result wc...
r20270 $ hg summary
parent: 2:45bbcd363bf0 tip
file2
branch: branch2
commit: 1 removed
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 3 draft
Gilles Moris
backout: provide linear backout as a default (without --merge option)...
r12727
with --merge
FUJIWARA Katsunori
backout: accept '--edit' like other commands creating new changeset...
r21712 (this also tests that editor is invoked if '--edit' is specified
explicitly regardless of '--message')
Gilles Moris
backout: provide linear backout as a default (without --merge option)...
r12727 $ hg update -qC
FUJIWARA Katsunori
backout: accept '--edit' like other commands creating new changeset...
r21712 $ HGEDITOR=cat hg backout --merge -d '3 0' -r 1 -m 'backout on branch1' --tool=true --edit
Martin Geisler
tests: unify test-backout
r11856 removing file1
FUJIWARA Katsunori
backout: accept '--edit' like other commands creating new changeset...
r21712 backout on branch1
HG: Enter commit message. Lines beginning with 'HG:' are removed.
HG: Leave message empty to abort commit.
HG: --
HG: user: test
HG: branch 'branch2'
HG: removed file1
Martin Geisler
tests: unify test-backout
r11856 created new head
changeset 3:d4e8f6db59fb backs out changeset 1:bf1602f437f3
Gilles Moris
backout: provide linear backout as a default (without --merge option)...
r12727 merging with changeset 3:d4e8f6db59fb
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Pierre-Yves David
test-backout: add multiple summary calls to monitor result wc...
r20270 $ hg summary
parent: 2:45bbcd363bf0
file2
parent: 3:d4e8f6db59fb tip
backout on branch1
branch: branch2
commit: 1 removed (merge)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 4 draft
Gilles Moris
backout: provide linear backout as a default (without --merge option)...
r12727 $ hg update -q -C 2
Martin Geisler
tests: unify test-backout
r11856
on branch2 with branch1 not merged, so file1 should still exist:
$ hg id
45bbcd363bf0 (branch2)
$ hg st -A
C default
C file1
C file2
Pierre-Yves David
test-backout: add multiple summary calls to monitor result wc...
r20270 $ hg summary
parent: 2:45bbcd363bf0
file2
branch: branch2
commit: (clean)
update: 1 new changesets, 2 branch heads (merge)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 4 draft
Martin Geisler
tests: unify test-backout
r11856
on branch2 with branch1 merged, so file1 should be gone:
$ hg merge
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg ci -d '4 0' -m 'merge backout of branch1'
$ hg id
22149cdde76d (branch2) tip
$ hg st -A
C default
C file2
Pierre-Yves David
test-backout: add multiple summary calls to monitor result wc...
r20270 $ hg summary
parent: 4:22149cdde76d tip
merge backout of branch1
branch: branch2
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 5 draft
Martin Geisler
tests: unify test-backout
r11856
on branch1, so no file1 and file2:
$ hg co -C branch1
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg id
bf1602f437f3 (branch1)
$ hg st -A
C default
C file1
Pierre-Yves David
test-backout: add multiple summary calls to monitor result wc...
r20270 $ hg summary
parent: 1:bf1602f437f3
file1
branch: branch1
commit: (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 5 draft
Mads Kiilerich
tests: cleanup of tests that got lost in their own nested directories...
r16912
$ cd ..
Pierre-Yves David
resolve: use "other" changeset from merge state (issue4163)...
r20594
Yuya Nishihara
backout: correct commit status of no changes made (BC) (issue4190)...
r20872 backout of empty changeset (issue4190)
$ hg init emptycommit
$ cd emptycommit
$ touch file1
$ hg ci -Aqm file1
$ hg branch -q branch1
$ hg ci -qm branch1
$ hg backout -v 1
resolving manifests
nothing changed
[1]
$ cd ..
Pierre-Yves David
resolve: use "other" changeset from merge state (issue4163)...
r20594
Test usage of `hg resolve` in case of conflict
(issue4163)
$ hg init issue4163
$ cd issue4163
$ touch foo
$ hg add foo
$ cat > foo << EOF
> one
> two
> three
> four
> five
> six
> seven
> height
> nine
> ten
> EOF
$ hg ci -m 'initial'
$ cat > foo << EOF
> one
> two
> THREE
> four
> five
> six
> seven
> height
> nine
> ten
> EOF
$ hg ci -m 'capital three'
$ cat > foo << EOF
> one
> two
> THREE
> four
> five
> six
> seven
> height
> nine
> TEN
> EOF
$ hg ci -m 'capital ten'
$ hg backout -r 'desc("capital three")' --tool internal:fail
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
use 'hg resolve' to retry unresolved file merges
[1]
$ hg status
Siddharth Agarwal
commands: add a new debug command to print merge state...
r26501 $ hg debugmergestate
* version 2 records
local: b71750c4b0fdf719734971e3ef90dbeab5919a2d
other: a30dd8addae3ce71b8667868478542bc417439e6
file: foo (state "u", hash 0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33)
local path: foo (flags "")
ancestor path: foo (node f89532f44c247a0e993d63e3a734dd781ab04708)
other path: foo (node f50039b486d6fa1a90ae51778388cad161f425ee)
$ mv .hg/merge/state2 .hg/merge/state2-moved
$ hg debugmergestate
* version 1 records
local: b71750c4b0fdf719734971e3ef90dbeab5919a2d
file: foo (state "u", hash 0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33)
local path: foo (flags "")
ancestor path: foo (node f89532f44c247a0e993d63e3a734dd781ab04708)
other path: foo (node not stored in v1 format)
$ mv .hg/merge/state2-moved .hg/merge/state2
Pierre-Yves David
resolve: use "other" changeset from merge state (issue4163)...
r20594 $ hg resolve -l # still unresolved
U foo
$ hg summary
parent: 2:b71750c4b0fd tip
capital ten
branch: default
commit: 1 unresolved (clean)
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 3 draft
Pierre-Yves David
resolve: use "other" changeset from merge state (issue4163)...
r20594 $ hg resolve --all --debug
Siddharth Agarwal
filemerge: normalize 'internal:foo' names to ':foo'...
r26517 picked tool ':merge' for foo (binary False symlink False)
Pierre-Yves David
resolve: use "other" changeset from merge state (issue4163)...
r20594 merging foo
my foo@b71750c4b0fd+ other foo@a30dd8addae3 ancestor foo@913609522437
premerge successful
Pierre-Yves David
resolve: add parenthesis around "no more unresolved files" message...
r21947 (no more unresolved files)
Pierre-Yves David
resolve: use "other" changeset from merge state (issue4163)...
r20594 $ hg status
M foo
? foo.orig
$ hg resolve -l
R foo
$ hg summary
parent: 2:b71750c4b0fd tip
capital ten
branch: default
commit: 1 modified, 1 unknown
update: (current)
Gilles Moris
summary: move the parents phase marker to commit line (issue4688)...
r25382 phases: 3 draft
Pierre-Yves David
resolve: use "other" changeset from merge state (issue4163)...
r20594 $ cat foo
one
two
three
four
five
six
seven
height
nine
TEN