##// END OF EJS Templates
rebase: choose default destination the same way as 'hg merge' (BC)...
rebase: choose default destination the same way as 'hg merge' (BC) This changeset finally make 'hg rebase' choose its default destination using the same logic as 'hg merge'. The previous default was "tipmost changeset on the current branch", the new default is "the other head if there is only one". This change has multiple consequences: - Multiple tests which were not rebasing anything (rebasing from tipmost head) are now rebasing on the other "lower" branch. This is the expected new behavior. - A test is now explicitly aborting when there is too many heads on the branch. This is the expected behavior. - We gained a better detection of the "nothing to rebase" case while performing 'hg pull --rebase' so the message have been updated. Making clearer than an update was performed and why. This is beneficial side-effect. - Rebasing from an active bookmark will behave the same as 'hg merge' from a bookmark.

File last commit:

r28072:c3e9269d default
r28189:fac3a24b default
Show More
test-conflict.t
276 lines | 5.3 KiB | text/troff | Tads3Lexer
Nicolas Dumazet
tests: unify test-conflict
r11797 $ hg init
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 $ cat << EOF > a
> Small Mathematical Series.
> One
> Two
> Three
> Four
> Five
> Hop we are done.
> EOF
Nicolas Dumazet
tests: unify test-conflict
r11797 $ hg add a
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m ancestor
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 $ cat << EOF > a
> Small Mathematical Series.
> 1
> 2
> 3
> 4
> 5
> Hop we are done.
> EOF
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m branch1
Nicolas Dumazet
tests: unify test-conflict
r11797 $ hg co 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 $ cat << EOF > a
> Small Mathematical Series.
> 1
> 2
> 3
> 6
> 8
> Hop we are done.
> EOF
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m branch2
Nicolas Dumazet
tests: unify test-conflict
r11797 created new head
$ hg merge 1
merging a
Siddharth Agarwal
simplemerge: move conflict warning message to filemerge...
r26614 warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
Nicolas Dumazet
tests: unify test-conflict
r11797 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
Brodie Rao
merge: suggest 'hg up -C .' for discarding changes, not 'hg up -C'...
r12314 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Nicolas Dumazet
tests: unify test-conflict
r11797
$ hg id
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 618808747361+c0c68e4fe667+ tip
Nicolas Dumazet
tests: unify test-conflict
r11797
$ cat a
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 Small Mathematical Series.
1
2
3
Ryan McElroy
merge: minimize conflicts when common base is not shown (issue4447)...
r28072 <<<<<<< local: 618808747361 - test: branch2
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 6
8
Durham Goode
merge: add conflict marker formatter (BC)...
r21519 =======
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 4
5
>>>>>>> other: c0c68e4fe667 - test: branch1
Hop we are done.
Durham Goode
merge: add conflict marker formatter (BC)...
r21519
$ hg status
M a
? a.orig
Verify custom conflict markers
$ hg up -q --clean .
$ printf "\n[ui]\nmergemarkertemplate={author} {rev}\n" >> .hg/hgrc
$ hg merge 1
merging a
Siddharth Agarwal
simplemerge: move conflict warning message to filemerge...
r26614 warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
Durham Goode
merge: add conflict marker formatter (BC)...
r21519 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
[1]
$ cat a
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 Small Mathematical Series.
1
2
3
Ryan McElroy
merge: minimize conflicts when common base is not shown (issue4447)...
r28072 <<<<<<< local: test 2
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 6
8
Durham Goode
merge: add conflict marker formatter (BC)...
r21519 =======
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 4
5
Durham Goode
merge: add conflict marker formatter (BC)...
r21519 >>>>>>> other: test 1
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 Hop we are done.
Durham Goode
merge: add conflict marker formatter (BC)...
r21519
FUJIWARA Katsunori
filemerge: use only the first line of the generated conflict marker for safety...
r21864 Verify line splitting of custom conflict marker which causes multiple lines
$ hg up -q --clean .
$ cat >> .hg/hgrc <<EOF
> [ui]
> mergemarkertemplate={author} {rev}\nfoo\nbar\nbaz
> EOF
$ hg -q merge 1
Siddharth Agarwal
simplemerge: move conflict warning message to filemerge...
r26614 warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
FUJIWARA Katsunori
filemerge: use only the first line of the generated conflict marker for safety...
r21864 [1]
$ cat a
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 Small Mathematical Series.
1
2
3
Ryan McElroy
merge: minimize conflicts when common base is not shown (issue4447)...
r28072 <<<<<<< local: test 2
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 6
8
FUJIWARA Katsunori
filemerge: use only the first line of the generated conflict marker for safety...
r21864 =======
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 4
5
FUJIWARA Katsunori
filemerge: use only the first line of the generated conflict marker for safety...
r21864 >>>>>>> other: test 1
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 Hop we are done.
FUJIWARA Katsunori
filemerge: use only the first line of the generated conflict marker for safety...
r21864
FUJIWARA Katsunori
filemerge: use 'util.ellipsis' to trim custom conflict markers correctly...
r21865 Verify line trimming of custom conflict marker using multi-byte characters
$ hg up -q --clean .
$ python <<EOF
> fp = open('logfile', 'w')
> fp.write('12345678901234567890123456789012345678901234567890' +
> '1234567890') # there are 5 more columns for 80 columns
>
> # 2 x 4 = 8 columns, but 3 x 4 = 12 bytes
> fp.write(u'\u3042\u3044\u3046\u3048'.encode('utf-8'))
>
> fp.close()
> EOF
$ hg add logfile
$ hg --encoding utf-8 commit --logfile logfile
$ cat >> .hg/hgrc <<EOF
> [ui]
> mergemarkertemplate={desc|firstline}
> EOF
$ hg -q --encoding utf-8 merge 1
Siddharth Agarwal
simplemerge: move conflict warning message to filemerge...
r26614 warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
FUJIWARA Katsunori
filemerge: use 'util.ellipsis' to trim custom conflict markers correctly...
r21865 [1]
$ cat a
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 Small Mathematical Series.
1
2
3
Ryan McElroy
merge: minimize conflicts when common base is not shown (issue4447)...
r28072 <<<<<<< local: 123456789012345678901234567890123456789012345678901234567890\xe3\x81\x82... (esc)
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 6
8
FUJIWARA Katsunori
filemerge: use 'util.ellipsis' to trim custom conflict markers correctly...
r21865 =======
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 4
5
FUJIWARA Katsunori
filemerge: use 'util.ellipsis' to trim custom conflict markers correctly...
r21865 >>>>>>> other: branch1
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 Hop we are done.
FUJIWARA Katsunori
filemerge: use 'util.ellipsis' to trim custom conflict markers correctly...
r21865
Durham Goode
merge: add conflict marker formatter (BC)...
r21519 Verify basic conflict markers
FUJIWARA Katsunori
filemerge: use 'util.ellipsis' to trim custom conflict markers correctly...
r21865 $ hg up -q --clean 2
Durham Goode
merge: add conflict marker formatter (BC)...
r21519 $ printf "\n[ui]\nmergemarkers=basic\n" >> .hg/hgrc
$ hg merge 1
merging a
Siddharth Agarwal
simplemerge: move conflict warning message to filemerge...
r26614 warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
Durham Goode
merge: add conflict marker formatter (BC)...
r21519 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
[1]
$ cat a
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 Small Mathematical Series.
1
2
3
Ryan McElroy
merge: minimize conflicts when common base is not shown (issue4447)...
r28072 <<<<<<< local
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 6
8
Nicolas Dumazet
tests: unify test-conflict
r11797 =======
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 4
5
Nicolas Dumazet
tests: unify test-conflict
r11797 >>>>>>> other
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 Hop we are done.
Pierre-Yves David
merge: add an internal:merge3 tool...
r22028
internal:merge3
$ hg up -q --clean .
$ hg merge 1 --tool internal:merge3
merging a
Siddharth Agarwal
simplemerge: move conflict warning message to filemerge...
r26614 warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
Pierre-Yves David
merge: add an internal:merge3 tool...
r22028 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
[1]
$ cat a
Small Mathematical Series.
<<<<<<< local
1
2
3
6
8
||||||| base
One
Two
Three
Four
Five
=======
1
2
3
4
5
>>>>>>> other
Hop we are done.
Jordi Gutiérrez Hermoso
filemerge: add non-interactive :merge-local and :merge-other...
r26224
Add some unconflicting changes on each head, to make sure we really
are merging, unlike :local and :other
$ hg up -C
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Pierre-Yves David
update: warn about other topological heads on bare update...
r28029 1 other heads for branch "default"
Jordi Gutiérrez Hermoso
filemerge: add non-interactive :merge-local and :merge-other...
r26224 $ printf "\n\nEnd of file\n" >> a
$ hg ci -m "Add some stuff at the end"
$ hg up -r 1
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ printf "Start of file\n\n\n" > tmp
$ cat a >> tmp
$ mv tmp a
$ hg ci -m "Add some stuff at the beginning"
Now test :merge-other and :merge-local
$ hg merge
merging a
Siddharth Agarwal
simplemerge: move conflict warning message to filemerge...
r26614 warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
Jordi Gutiérrez Hermoso
filemerge: add non-interactive :merge-local and :merge-other...
r26224 1 files updated, 0 files merged, 0 files removed, 1 files unresolved
use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
[1]
$ hg resolve --tool :merge-other a
merging a
(no more unresolved files)
$ cat a
Start of file
Small Mathematical Series.
1
2
3
6
8
Hop we are done.
End of file
$ hg up -C
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
Pierre-Yves David
update: warn about other topological heads on bare update...
r28029 1 other heads for branch "default"
Jordi Gutiérrez Hermoso
filemerge: add non-interactive :merge-local and :merge-other...
r26224 $ hg merge --tool :merge-local
merging a
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ cat a
Start of file
Small Mathematical Series.
1
2
3
4
5
Hop we are done.
End of file