##// END OF EJS Templates
tests: replace `hg id --debug -i` command substitution with non-debug command...
tests: replace `hg id --debug -i` command substitution with non-debug command The censor and convert tests were failing on Windows because the `--debug` flag also prints debug messages, and at least some of these were outputting: skip updating dirstate: identity mismatch ${node} Obviously that causes cascading problems. The other tests were OK, but it's better to use a non debug command for stability.

File last commit:

r50351:cdfba684 default
r52837:2eeca9a8 default
Show More
test-update-branches.t
726 lines | 18.2 KiB | text/troff | Tads3Lexer
/ tests / test-update-branches.t
Rodrigo Damazio Bovendorp
update: add some tests for the status quo of morestatus on update conflicts...
r44336 $ cat >> $HGRCPATH <<EOF
> [commands]
> status.verbose=1
> EOF
Adrian Buehlmann
combine tests
r12279 # Construct the following history tree:
#
# @ 5:e1bb631146ca b1
# |
# o 4:a4fdb3b883c4 0:b608b9236435 b1
# |
# | o 3:4b57d2520816 1:44592833ba9f
# | |
# | | o 2:063f31070f65
# | |/
# | o 1:44592833ba9f
# |/
# o 0:b608b9236435
Siddharth Agarwal
commands: don't infer repo for commands like update (issue2748)...
r17773 $ mkdir b1
$ cd b1
Adrian Buehlmann
combine tests
r12279 $ hg init
$ echo foo > foo
$ echo zero > a
Patrick Mezard
update: make --check abort with dirty subrepos...
r16491 $ hg init sub
$ echo suba > sub/suba
$ hg --cwd sub ci -Am addsuba
adding suba
$ echo 'sub = sub' > .hgsub
Adrian Buehlmann
combine tests
r12279 $ hg ci -qAm0
$ echo one > a ; hg ci -m1
$ echo two > a ; hg ci -m2
$ hg up -q 1
$ echo three > a ; hg ci -qm3
$ hg up -q 0
$ hg branch -q b1
$ echo four > a ; hg ci -qm4
$ echo five > a ; hg ci -qm5
Initial repo state:
Martin Geisler
tests: don't load unnecessary graphlog extension...
r20117 $ hg log -G --template '{rev}:{node|short} {parents} {branches}\n'
Patrick Mezard
update: make --check abort with dirty subrepos...
r16491 @ 5:ff252e8273df b1
Adrian Buehlmann
combine tests
r12279 |
Patrick Mezard
update: make --check abort with dirty subrepos...
r16491 o 4:d047485b3896 0:60829823a42a b1
Adrian Buehlmann
combine tests
r12279 |
Patrick Mezard
update: make --check abort with dirty subrepos...
r16491 | o 3:6efa171f091b 1:0786582aa4b1
Adrian Buehlmann
combine tests
r12279 | |
Patrick Mezard
update: make --check abort with dirty subrepos...
r16491 | | o 2:bd10386d478c
Adrian Buehlmann
combine tests
r12279 | |/
Patrick Mezard
update: make --check abort with dirty subrepos...
r16491 | o 1:0786582aa4b1
Adrian Buehlmann
combine tests
r12279 |/
Patrick Mezard
update: make --check abort with dirty subrepos...
r16491 o 0:60829823a42a
Adrian Buehlmann
combine tests
r12279
Siddharth Agarwal
commands: don't infer repo for commands like update (issue2748)...
r17773 Make sure update doesn't assume b1 is a repository if invoked from outside:
$ cd ..
$ hg update b1
Martin von Zweigbergk
errors: remove trailing "!" from some error messages for consistency...
r46518 abort: no repository found in '$TESTTMP' (.hg not found)
Martin von Zweigbergk
errors: raise InputError on bad repo arguments...
r46523 [10]
Siddharth Agarwal
commands: don't infer repo for commands like update (issue2748)...
r17773 $ cd b1
Adrian Buehlmann
combine tests
r12279 Test helper functions:
$ revtest () {
> msg=$1
Patrick Mezard
update: make --check abort with dirty subrepos...
r16491 > dirtyflag=$2 # 'clean', 'dirty' or 'dirtysub'
Adrian Buehlmann
combine tests
r12279 > startrev=$3
> targetrev=$4
> opt=$5
> hg up -qC $startrev
> test $dirtyflag = dirty && echo dirty > foo
Patrick Mezard
update: make --check abort with dirty subrepos...
r16491 > test $dirtyflag = dirtysub && echo dirty > sub/suba
Adrian Buehlmann
combine tests
r12279 > hg up $opt $targetrev
> hg parent --template 'parent={rev}\n'
Patrick Mezard
update: make --check abort with dirty subrepos...
r16491 > hg stat -S
Mads Kiilerich
check-code: fix check for trailing whitespace on continued lines too...
r17347 > }
Adrian Buehlmann
combine tests
r12279
$ norevtest () {
> msg=$1
Patrick Mezard
update: make --check abort with dirty subrepos...
r16491 > dirtyflag=$2 # 'clean', 'dirty' or 'dirtysub'
Adrian Buehlmann
combine tests
r12279 > startrev=$3
> opt=$4
> hg up -qC $startrev
> test $dirtyflag = dirty && echo dirty > foo
Patrick Mezard
update: make --check abort with dirty subrepos...
r16491 > test $dirtyflag = dirtysub && echo dirty > sub/suba
Adrian Buehlmann
combine tests
r12279 > hg up $opt
> hg parent --template 'parent={rev}\n'
Patrick Mezard
update: make --check abort with dirty subrepos...
r16491 > hg stat -S
Mads Kiilerich
check-code: fix check for trailing whitespace on continued lines too...
r17347 > }
Adrian Buehlmann
combine tests
r12279
Matt Mackall
tests: fix a bunch of pointless #s in unified tests
r12328 Test cases are documented in a table in the update function of merge.py.
Cases are run as shown in that table, row by row.
Adrian Buehlmann
combine tests
r12279
$ norevtest 'none clean linear' clean 4
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
parent=5
$ norevtest 'none clean same' clean 2
Pierre-Yves David
update: change default destination to tipmost descendant (issue4673) (BC)...
r28065 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Pulkit Goyal
update: show the commit to which we updated in case of multiple heads (BC)...
r32698 updated to "bd10386d478c: 2"
Pierre-Yves David
update: change default destination to tipmost descendant (issue4673) (BC)...
r28065 1 other heads for branch "default"
Adrian Buehlmann
combine tests
r12279 parent=2
$ revtest 'none clean linear' clean 1 2
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
parent=2
$ revtest 'none clean same' clean 2 3
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
parent=3
$ revtest 'none clean cross' clean 3 4
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
parent=4
$ revtest 'none dirty linear' dirty 1 2
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
parent=2
M foo
Patrick Mezard
update: make --check abort with dirty subrepos...
r16491 $ revtest 'none dirtysub linear' dirtysub 1 2
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
parent=2
M sub/suba
Adrian Buehlmann
combine tests
r12279 $ revtest 'none dirty same' dirty 2 3
Siddharth Agarwal
update: add error message for dirty non-linear update with no rev...
r19799 abort: uncommitted changes
(commit or update --clean to discard changes)
Adrian Buehlmann
combine tests
r12279 parent=2
M foo
Patrick Mezard
update: make --check abort with dirty subrepos...
r16491 $ revtest 'none dirtysub same' dirtysub 2 3
Siddharth Agarwal
update: add error message for dirty non-linear update with no rev...
r19799 abort: uncommitted changes
(commit or update --clean to discard changes)
Patrick Mezard
update: make --check abort with dirty subrepos...
r16491 parent=2
M sub/suba
Adrian Buehlmann
combine tests
r12279 $ revtest 'none dirty cross' dirty 3 4
Siddharth Agarwal
update: add error message for dirty non-linear update with no rev...
r19799 abort: uncommitted changes
(commit or update --clean to discard changes)
Adrian Buehlmann
combine tests
r12279 parent=3
M foo
Siddharth Agarwal
update: improve error message for dirty non-linear update with rev
r19800 $ norevtest 'none dirty cross' dirty 2
Pierre-Yves David
update: change default destination to tipmost descendant (issue4673) (BC)...
r28065 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Pulkit Goyal
update: show the commit to which we updated in case of multiple heads (BC)...
r32698 updated to "bd10386d478c: 2"
Pierre-Yves David
update: change default destination to tipmost descendant (issue4673) (BC)...
r28065 1 other heads for branch "default"
Siddharth Agarwal
update: improve error message for dirty non-linear update with rev
r19800 parent=2
M foo
Patrick Mezard
update: make --check abort with dirty subrepos...
r16491 $ revtest 'none dirtysub cross' dirtysub 3 4
Siddharth Agarwal
update: add error message for dirty non-linear update with no rev...
r19799 abort: uncommitted changes
(commit or update --clean to discard changes)
Patrick Mezard
update: make --check abort with dirty subrepos...
r16491 parent=3
M sub/suba
Adrian Buehlmann
combine tests
r12279
update: use long version of the flag in the test...
r49234 $ revtest '--clean dirty linear' dirty 1 2 --clean
Adrian Buehlmann
combine tests
r12279 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
parent=2
update: use long version of the flag in the test...
r49234 $ revtest '--check dirty linear' dirty 1 2 --check
Siddharth Agarwal
update: standardize error message for dirty update --check...
r19801 abort: uncommitted changes
Adrian Buehlmann
combine tests
r12279 parent=1
M foo
update: use long version of the flag in the test...
r49234 $ revtest '--merge dirty linear' dirty 1 2 --merge
Martin von Zweigbergk
update: accept --merge to allow merging across topo branches (issue5125)
r31166 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
parent=2
M foo
update: use long version of the flag in the test...
r49234 $ revtest '--merge dirty cross' dirty 3 4 --merge
Martin von Zweigbergk
update: accept --merge to allow merging across topo branches (issue5125)
r31166 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
parent=4
M foo
update: use long version of the flag in the test...
r49234 $ revtest '--check dirtysub linear' dirtysub 1 2 --check
Matt Harbison
subrepo: make the output references to subrepositories consistent...
r33365 abort: uncommitted changes in subrepository "sub"
Patrick Mezard
update: make --check abort with dirty subrepos...
r16491 parent=1
M sub/suba
update: use long version of the flag in the test...
r49234 $ norevtest '--check clean same' clean 2 -c
Pierre-Yves David
update: change default destination to tipmost descendant (issue4673) (BC)...
r28065 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Pulkit Goyal
update: show the commit to which we updated in case of multiple heads (BC)...
r32698 updated to "bd10386d478c: 2"
Pierre-Yves David
update: warn about other topological heads on bare update...
r28029 1 other heads for branch "default"
Pierre-Yves David
update: change default destination to tipmost descendant (issue4673) (BC)...
r28065 parent=2
Adrian Buehlmann
combine tests
r12279
update: use long version of the flag in the test...
r49234 $ revtest '--check --clean dirty linear' dirty 1 2 "--check --clean"
Valentin Gatien-Baron
update: simplify slightly...
r44893 abort: cannot specify both --clean and --check
Martin von Zweigbergk
update: accept --merge to allow merging across topo branches (issue5125)
r31166 parent=1
M foo
update: use long version of the flag in the test...
r49234 $ revtest '--merge -checkc dirty linear' dirty 1 2 "--merge --check"
Valentin Gatien-Baron
update: simplify slightly...
r44893 abort: cannot specify both --check and --merge
Martin von Zweigbergk
update: accept --merge to allow merging across topo branches (issue5125)
r31166 parent=1
M foo
update: use long version of the flag in the test...
r49234 $ revtest '--merge -clean dirty linear' dirty 1 2 "--merge --clean"
Valentin Gatien-Baron
update: simplify slightly...
r44893 abort: cannot specify both --clean and --merge
Adrian Buehlmann
combine tests
r12279 parent=1
M foo
Augie Fackler
config: graduate experimental.updatecheck to commands.update.check...
r34706 $ echo '[commands]' >> .hg/hgrc
$ echo 'update.check = abort' >> .hg/hgrc
Martin von Zweigbergk
update: add experimental config for default way of handling dirty wdir...
r31167
$ revtest 'none dirty linear' dirty 1 2
abort: uncommitted changes
parent=1
M foo
update: use long version of the flag in the test...
r49234 $ revtest 'none dirty linear' dirty 1 2 --check
Martin von Zweigbergk
update: add experimental config for default way of handling dirty wdir...
r31167 abort: uncommitted changes
parent=1
M foo
update: use long version of the flag in the test...
r49234 $ revtest '--merge none dirty linear' dirty 1 2 --check
abort: uncommitted changes
parent=1
M foo
update: add a test for `--merge` overriding the "abort" config...
r49235 $ revtest '--merge none dirty linear' dirty 1 2 --merge
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
parent=2
M foo
update: properly overwrite `check` config with `--no-` variants...
r49236 $ revtest '--merge none dirty linear' dirty 1 2 --no-check
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
parent=2
M foo
update: use long version of the flag in the test...
r49234 $ revtest 'none dirty linear' dirty 1 2 --clean
Martin von Zweigbergk
update: add experimental config for default way of handling dirty wdir...
r31167 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
parent=2
Augie Fackler
config: graduate experimental.updatecheck to commands.update.check...
r34706 $ echo 'update.check = none' >> .hg/hgrc
Martin von Zweigbergk
update: add experimental config for default way of handling dirty wdir...
r31167
$ revtest 'none dirty cross' dirty 3 4
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
parent=4
M foo
$ revtest 'none dirty linear' dirty 1 2
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
parent=2
M foo
update: use long version of the flag in the test...
r49234 $ revtest 'none dirty linear' dirty 1 2 --check
Martin von Zweigbergk
update: add experimental config for default way of handling dirty wdir...
r31167 abort: uncommitted changes
parent=1
M foo
update: properly overwrite `check` config with `--no-` variants...
r49236 $ revtest 'none dirty linear' dirty 1 2 --no-merge
abort: uncommitted changes
parent=1
M foo
update: use long version of the flag in the test...
r49234 $ revtest 'none dirty linear' dirty 1 2 --clean
Martin von Zweigbergk
update: add experimental config for default way of handling dirty wdir...
r31167 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
parent=2
$ hg co -qC 3
$ echo dirty >> a
$ hg co --tool :merge3 4
merging a
warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
use 'hg resolve' to retry unresolved file merges
[1]
Martin von Zweigbergk
tests: add `hg log -G` output when there are merge conflicts...
r44818 $ hg log -G --template '{rev}:{node|short} {parents} {branches}\n'
o 5:ff252e8273df b1
|
@ 4:d047485b3896 0:60829823a42a b1
|
Martin von Zweigbergk
graphlog: use '%' for other context in merge conflict...
r44819 | % 3:6efa171f091b 1:0786582aa4b1
Martin von Zweigbergk
tests: add `hg log -G` output when there are merge conflicts...
r44818 | |
| | o 2:bd10386d478c
| |/
| o 1:0786582aa4b1
|/
o 0:60829823a42a
Martin von Zweigbergk
update: add experimental config for default way of handling dirty wdir...
r31167 $ hg st
M a
? a.orig
Rodrigo Damazio Bovendorp
status: make morestatus call out unresolved conflicts after update...
r44391 # Unresolved merge conflicts:
#
# a
#
# To mark files as resolved: hg resolve --mark FILE
Martin von Zweigbergk
update: add experimental config for default way of handling dirty wdir...
r31167 $ cat a
Martin von Zweigbergk
update: set custom conflict label for base commit...
r49436 <<<<<<< working copy: 6efa171f091b - test: 3
Martin von Zweigbergk
update: add experimental config for default way of handling dirty wdir...
r31167 three
dirty
Martin von Zweigbergk
update: set custom conflict label for base commit...
r49436 ||||||| working copy parent: 6efa171f091b - test: 3
Martin von Zweigbergk
update: add experimental config for default way of handling dirty wdir...
r31167 three
=======
four
Martin von Zweigbergk
update: set custom conflict label for base commit...
r49436 >>>>>>> destination: d047485b3896 b1 - test: 4
Martin von Zweigbergk
update: add experimental config for default way of handling dirty wdir...
r31167 $ rm a.orig
Augie Fackler
config: graduate experimental.updatecheck to commands.update.check...
r34706 $ echo 'update.check = noconflict' >> .hg/hgrc
Martin von Zweigbergk
update: allow setting default update check to "noconflict"...
r31168
$ revtest 'none dirty cross' dirty 3 4
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
parent=4
M foo
$ revtest 'none dirty linear' dirty 1 2
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
parent=2
M foo
$ revtest 'none dirty linear' dirty 1 2 -c
abort: uncommitted changes
parent=1
M foo
$ revtest 'none dirty linear' dirty 1 2 -C
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
parent=2
Locally added file is allowed
$ hg up -qC 3
$ echo a > bar
$ hg add bar
$ hg up -q 4
$ hg st
A bar
$ hg forget bar
$ rm bar
Locally removed file is allowed
$ hg up -qC 3
Martin von Zweigbergk
tests: fix test-update-branches to remove non-conflicting file...
r31174 $ hg rm foo
Martin von Zweigbergk
update: allow setting default update check to "noconflict"...
r31168 $ hg up -q 4
File conflict is not allowed
$ hg up -qC 3
$ echo dirty >> a
$ hg up -q 4
Martin von Zweigbergk
update: for "noconflict" updates, print "conflicting changes" on conflict...
r31175 abort: conflicting changes
(commit or update --clean to discard changes)
Martin von Zweigbergk
errors: use StateError more in merge module...
r47146 [20]
Martin von Zweigbergk
update: allow setting default update check to "noconflict"...
r31168 $ hg up -m 4
merging a
warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
use 'hg resolve' to retry unresolved file merges
[1]
$ rm a.orig
Rodrigo Damazio Bovendorp
update: add some tests for the status quo of morestatus on update conflicts...
r44336 $ hg status
M a
Rodrigo Damazio Bovendorp
status: make morestatus call out unresolved conflicts after update...
r44391 # Unresolved merge conflicts:
#
# a
#
# To mark files as resolved: hg resolve --mark FILE
Rodrigo Damazio Bovendorp
update: add some tests for the status quo of morestatus on update conflicts...
r44336 $ hg resolve -l
U a
Martin von Zweigbergk
update: allow setting default update check to "noconflict"...
r31168
Martin von Zweigbergk
tests: add test of committing with conflicts but no changes in wdir...
r44888 Try to make empty commit while there are conflicts
$ hg revert -r . a
$ rm a.orig
$ hg ci -m empty
Martin von Zweigbergk
commit: error out on unresolved files even if commit would be empty...
r44889 abort: unresolved merge conflicts (see 'hg help resolve')
Martin von Zweigbergk
errors: raise StateError when there are unresolves merge conflicts...
r46528 [20]
Martin von Zweigbergk
tests: add test of committing with conflicts but no changes in wdir...
r44888 $ hg resolve -m a
(no more unresolved files)
$ hg resolve -l
R a
$ hg ci -m empty
nothing changed
[1]
$ hg resolve -l
Martin von Zweigbergk
update: allow setting default update check to "noconflict"...
r31168 Change/delete conflict is not allowed
$ hg up -qC 3
$ hg rm foo
$ hg up -q 4
Martin von Zweigbergk
update: add experimental config for default way of handling dirty wdir...
r31167 Uses default value of "linear" when value is misspelled
Augie Fackler
config: graduate experimental.updatecheck to commands.update.check...
r34706 $ echo 'update.check = linyar' >> .hg/hgrc
Martin von Zweigbergk
update: add experimental config for default way of handling dirty wdir...
r31167
$ revtest 'dirty cross' dirty 3 4
abort: uncommitted changes
(commit or update --clean to discard changes)
parent=3
M foo
Setup for later tests
$ revtest 'none dirty linear' dirty 1 2 -c
abort: uncommitted changes
parent=1
M foo
FUJIWARA Katsunori
destutil: show message about other branch heads, even if on a closed head...
r28266 $ cd ..
Martin von Zweigbergk
tests: add test for updating to null revision...
r30900 Test updating to null revision
$ hg init null-repo
$ cd null-repo
$ echo a > a
$ hg add a
$ hg ci -m a
$ hg up -qC 0
$ echo b > b
$ hg add b
$ hg up null
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg st
A b
$ hg up -q 0
$ hg st
A b
$ hg up -qC null
$ hg st
? b
$ cd ..
FUJIWARA Katsunori
destutil: show message about other branch heads, even if on a closed head...
r28266 Test updating with closed head
---------------------------------------------------------------------
$ hg clone -U -q b1 closed-heads
$ cd closed-heads
Test updating if at least one non-closed branch head exists
if on the closed branch head:
FUJIWARA Katsunori
destutil: choose non-closed branch head at first (BC)...
r28385 - update to "."
- "updated to a closed branch head ...." message is displayed
FUJIWARA Katsunori
destutil: show message about other branch heads, even if on a closed head...
r28266 - "N other heads for ...." message is displayed
$ hg update -q -C 3
$ hg commit --close-branch -m 6
$ norevtest "on closed branch head" clean 6
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
FUJIWARA Katsunori
destutil: make messages at updating to the closed head usual form...
r28683 no open descendant heads on branch "default", updating to a closed head
timeless
update: use single quotes in use warning
r29964 (committing will reopen the head, use 'hg heads .' to see 1 other heads)
FUJIWARA Katsunori
destutil: choose non-closed branch head at first (BC)...
r28385 parent=6
if descendant non-closed branch head exists, and it is only one branch head:
- update to it, even if its revision is less than closed one
- "N other heads for ...." message isn't displayed
$ norevtest "non-closed 2 should be chosen" clean 1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
parent=2
if all descendant branch heads are closed, but there is another branch head:
- update to the tipmost descendant head
- "updated to a closed branch head ...." message is displayed
- "N other heads for ...." message is displayed
$ norevtest "all descendant branch heads are closed" clean 3
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
FUJIWARA Katsunori
destutil: make messages at updating to the closed head usual form...
r28683 no open descendant heads on branch "default", updating to a closed head
timeless
update: use single quotes in use warning
r29964 (committing will reopen the head, use 'hg heads .' to see 1 other heads)
FUJIWARA Katsunori
destutil: show message about other branch heads, even if on a closed head...
r28266 parent=6
Test updating if all branch heads are closed
if on the closed branch head:
FUJIWARA Katsunori
destutil: choose non-closed branch head at first (BC)...
r28385 - update to "."
- "updated to a closed branch head ...." message is displayed
- "all heads of branch ...." message is displayed
FUJIWARA Katsunori
destutil: show message about other branch heads, even if on a closed head...
r28266
$ hg update -q -C 2
$ hg commit --close-branch -m 7
$ norevtest "all heads of branch default are closed" clean 6
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
FUJIWARA Katsunori
destutil: make messages at updating to the closed head usual form...
r28683 no open descendant heads on branch "default", updating to a closed head
(committing will reopen branch "default")
FUJIWARA Katsunori
destutil: show message about other branch heads, even if on a closed head...
r28266 parent=6
FUJIWARA Katsunori
destutil: choose non-closed branch head at first (BC)...
r28385 if not on the closed branch head:
- update to the tipmost descendant (closed) head
- "updated to a closed branch head ...." message is displayed
- "all heads of branch ...." message is displayed
$ norevtest "all heads of branch default are closed" clean 1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
FUJIWARA Katsunori
destutil: make messages at updating to the closed head usual form...
r28683 no open descendant heads on branch "default", updating to a closed head
(committing will reopen branch "default")
FUJIWARA Katsunori
destutil: choose non-closed branch head at first (BC)...
r28385 parent=7
$ cd ..
Test updating if "default" branch doesn't exist and no revision is
checked out (= "default" is used as current branch)
$ hg init no-default-branch
$ cd no-default-branch
$ hg branch foobar
marked working directory as branch foobar
(branches are permanent and global, did you want a bookmark?)
$ echo a > a
$ hg commit -m "#0" -A
adding a
$ echo 1 >> a
$ hg commit -m "#1"
$ hg update -q 0
$ echo 3 >> a
$ hg commit -m "#2"
created new head
$ hg commit --close-branch -m "#3"
if there is at least one non-closed branch head:
- update to the tipmost branch head
$ norevtest "non-closed 1 should be chosen" clean null
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
parent=1
if all branch heads are closed
- update to "tip"
- "updated to a closed branch head ...." message is displayed
- "all heads for branch "XXXX" are closed" message is displayed
$ hg update -q -C 1
$ hg commit --close-branch -m "#4"
$ norevtest "all branches are closed" clean null
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
FUJIWARA Katsunori
destutil: make messages at updating to the closed head usual form...
r28683 no open descendant heads on branch "foobar", updating to a closed head
(committing will reopen branch "foobar")
FUJIWARA Katsunori
destutil: choose non-closed branch head at first (BC)...
r28385 parent=4
FUJIWARA Katsunori
destutil: show message about other branch heads, even if on a closed head...
r28266 $ cd ../b1
Pierre-Yves David
update: allow dirty update to foreground (successors)...
r18985 Test obsolescence behavior
---------------------------------------------------------------------
successors should be taken in account when checking head destination
$ cat << EOF >> $HGRCPATH
> [ui]
> logtemplate={rev}:{node|short} {desc|firstline}
Durham Goode
obsolete: update tests to use obsolete options...
r22955 > [experimental]
Boris Feld
config: use 'experimental.evolution.create-markers'...
r34867 > evolution.createmarkers=True
Pierre-Yves David
update: allow dirty update to foreground (successors)...
r18985 > EOF
Test no-argument update to a successor of an obsoleted changeset
$ hg log -G
o 5:ff252e8273df 5
|
o 4:d047485b3896 4
|
| o 3:6efa171f091b 3
| |
| | o 2:bd10386d478c 2
| |/
| @ 1:0786582aa4b1 1
|/
o 0:60829823a42a 0
Sean Farley
bookmarks: consider successor changesets when moving bookmark (issue4015)...
r20107 $ hg book bm -r 3
Pierre-Yves David
update: allow dirty update to foreground (successors)...
r18985 $ hg status
M foo
We add simple obsolescence marker between 3 and 4 (indirect successors)
$ hg id --debug -i -r 3
6efa171f091b00a3c35edc15d48c52a498929953
$ hg id --debug -i -r 4
d047485b3896813b2a624e86201983520f003206
$ hg debugobsolete 6efa171f091b00a3c35edc15d48c52a498929953 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
Pierre-Yves David
update: allow dirty update to foreground (successors)...
r18985 $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa d047485b3896813b2a624e86201983520f003206
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Pierre-Yves David
update: allow dirty update to foreground (successors)...
r18985
Sean Farley
bookmarks: consider successor changesets when moving bookmark (issue4015)...
r20107 Test that 5 is detected as a valid destination from 3 and also accepts moving
the bookmark (issue4015)
Pierre-Yves David
update: allow dirty update to foreground (successors)...
r18985 $ hg up --quiet --hidden 3
$ hg up 5
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Sean Farley
bookmarks: consider successor changesets when moving bookmark (issue4015)...
r20107 $ hg book bm
moving bookmark 'bm' forward from 6efa171f091b
$ hg bookmarks
* bm 5:ff252e8273df
Pierre-Yves David
update: allow dirty update to foreground (successors)...
r18985
Martin von Zweigbergk
update: print warning about hidden changeset after update...
r37939 Test that we abort before we warn about the hidden commit if the working
directory is dirty
$ echo conflict > a
$ hg up --hidden 3
abort: uncommitted changes
(commit or update --clean to discard changes)
[255]
Test that we still warn also when there are conflicts
$ hg up -m --hidden 3
merging a
warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
0 files updated, 0 files merged, 0 files removed, 1 files unresolved
use 'hg resolve' to retry unresolved file merges
(leaving bookmark bm)
updated to hidden changeset 6efa171f091b
(hidden revision '6efa171f091b' was rewritten as: d047485b3896)
[1]
Rodrigo Damazio Bovendorp
update: add some tests for the status quo of morestatus on update conflicts...
r44336
Test that statuses are reported properly before and after merge resolution.
$ rm a.orig
$ hg resolve -l
U a
$ hg status
M a
M foo
Rodrigo Damazio Bovendorp
status: make morestatus call out unresolved conflicts after update...
r44391 # Unresolved merge conflicts:
#
# a
#
# To mark files as resolved: hg resolve --mark FILE
Rodrigo Damazio Bovendorp
update: add some tests for the status quo of morestatus on update conflicts...
r44336
Martin von Zweigbergk
update: print warning about hidden changeset after update...
r37939 $ hg revert -r . a
Rodrigo Damazio Bovendorp
update: add some tests for the status quo of morestatus on update conflicts...
r44336
$ rm a.orig
$ hg resolve -l
U a
$ hg status
M foo
Rodrigo Damazio Bovendorp
status: make morestatus call out unresolved conflicts after update...
r44391 # Unresolved merge conflicts:
#
# a
#
# To mark files as resolved: hg resolve --mark FILE
Martin von Zweigbergk
status: include `repo` in template context also for resolved paths...
r50351 $ hg status -T '{status} {path} - {relpath(path)}\n'
M foo - foo
a - a
Rodrigo Damazio Bovendorp
update: add some tests for the status quo of morestatus on update conflicts...
r44336 $ hg status -Tjson
[
{
"itemtype": "file",
"path": "foo",
"status": "M"
Rodrigo Damazio Bovendorp
status: make unresolved files always be in the morestatus structured output...
r44392 },
{
"itemtype": "file",
"path": "a",
"unresolved": true
Rodrigo Damazio Bovendorp
update: add some tests for the status quo of morestatus on update conflicts...
r44336 }
]
Martin von Zweigbergk
update: print warning about hidden changeset after update...
r37939 $ hg resolve -m
(no more unresolved files)
Rodrigo Damazio Bovendorp
update: add some tests for the status quo of morestatus on update conflicts...
r44336 $ hg resolve -l
R a
$ hg status
M foo
Rodrigo Damazio Bovendorp
status: make morestatus call out unresolved conflicts after update...
r44391 # No unresolved merge conflicts.
Rodrigo Damazio Bovendorp
update: add some tests for the status quo of morestatus on update conflicts...
r44336 $ hg status -Tjson
[
{
"itemtype": "file",
"path": "foo",
"status": "M"
}
]
Sean Farley
update: consider successor changesets when moving active bookmark...
r20281 Test that 4 is detected as the no-argument destination from 3 and also moves
the bookmark with it
Sean Farley
merge: consider successor changesets for a bare update...
r20280 $ hg up --quiet 0 # we should be able to update to 3 directly
Rodrigo Damazio Bovendorp
status: make morestatus call out unresolved conflicts after update...
r44391 $ hg status
M foo
Sean Farley
merge: consider successor changesets for a bare update...
r20280 $ hg up --quiet --hidden 3 # but not implemented yet.
Martin von Zweigbergk
update: print warning about hidden changeset after update...
r37939 updated to hidden changeset 6efa171f091b
Boris Feld
update: display the obsfate of hidden revision we update to...
r35729 (hidden revision '6efa171f091b' was rewritten as: d047485b3896)
Sean Farley
update: consider successor changesets when moving active bookmark...
r20281 $ hg book -f bm
Sean Farley
merge: consider successor changesets for a bare update...
r20280 $ hg up
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Sean Farley
update: consider successor changesets when moving active bookmark...
r20281 updating bookmark bm
$ hg book
* bm 4:d047485b3896
Sean Farley
merge: consider successor changesets for a bare update...
r20280
Pierre-Yves David
update: allow dirty update to foreground (successors)...
r18985 Test that 5 is detected as a valid destination from 1
$ hg up --quiet 0 # we should be able to update to 3 directly
$ hg up --quiet --hidden 3 # but not implemented yet.
Martin von Zweigbergk
update: print warning about hidden changeset after update...
r37939 updated to hidden changeset 6efa171f091b
Boris Feld
update: display the obsfate of hidden revision we update to...
r35729 (hidden revision '6efa171f091b' was rewritten as: d047485b3896)
Pierre-Yves David
update: allow dirty update to foreground (successors)...
r18985 $ hg up 5
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Test that 5 is not detected as a valid destination from 2
$ hg up --quiet 0
$ hg up --quiet 2
$ hg up 5
Siddharth Agarwal
update: add error message for dirty non-linear update with no rev...
r19799 abort: uncommitted changes
(commit or update --clean to discard changes)
Pierre-Yves David
update: allow dirty update to foreground (successors)...
r18985 [255]
Sean Farley
merge: consider successor changesets for a bare update...
r20280
av6
destutil: if wdp is obsolete, update to the closest non-obsolete ancestor...
r49538 Test that we update to the closest non-obsolete ancestor when updating from a
pruned changeset (i.e. that has no successors)
Sean Farley
merge: consider successor changesets for a bare update...
r20280 $ hg id --debug -r 2
bd10386d478cd5a9faf2e604114c8e6da62d3889
$ hg up --quiet 0
$ hg up --quiet 2
$ hg debugobsolete bd10386d478cd5a9faf2e604114c8e6da62d3889
debugobsolete: also issue the "new obsmarkers" messsage...
r43163 1 new obsolescence markers
Boris Feld
debugobsolete: also report the number of obsoleted changesets...
r33542 obsoleted 1 changesets
av6
destutil: if wdp is obsolete, update to the closest non-obsolete ancestor...
r49538 $ hg log -r '_destupdate()'
1:0786582aa4b1 1 (no-eol)
Sean Farley
merge: consider successor changesets for a bare update...
r20280 $ hg up
av6
destutil: if wdp is obsolete, update to the closest non-obsolete ancestor...
r49538 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Augie Fackler
flags: allow specifying --no-boolean-flag on the command line (BC)...
r29947
Test that boolean flags allow --no-flag specification to override [defaults]
$ cat >> $HGRCPATH <<EOF
> [defaults]
> update = --check
> EOF
av6
destutil: if wdp is obsolete, update to the closest non-obsolete ancestor...
r49538 $ hg co 1
Augie Fackler
flags: allow specifying --no-boolean-flag on the command line (BC)...
r29947 abort: uncommitted changes
Martin von Zweigbergk
errors: introduce StateError and use it from commands and cmdutil...
r46444 [20]
av6
destutil: if wdp is obsolete, update to the closest non-obsolete ancestor...
r49538 $ hg co --no-check 1
Augie Fackler
flags: allow specifying --no-boolean-flag on the command line (BC)...
r29947 0 files updated, 0 files merged, 0 files removed, 0 files unresolved