test-conflict.t
426 lines
| 8.3 KiB
| text/troff
|
Tads3Lexer
/ tests / test-conflict.t
Simon Sapin
|
r49158 | TODO: fix rhg bugs that make this test fail when status is enabled | ||
$ unset RHG_STATUS | ||||
Nicolas Dumazet
|
r11797 | $ hg init | ||
Pierre-Yves David
|
r21920 | $ cat << EOF > a | ||
> Small Mathematical Series. | ||||
> One | ||||
> Two | ||||
> Three | ||||
> Four | ||||
> Five | ||||
> Hop we are done. | ||||
> EOF | ||||
Nicolas Dumazet
|
r11797 | $ hg add a | ||
Martin Geisler
|
r12156 | $ hg commit -m ancestor | ||
Pierre-Yves David
|
r21920 | $ cat << EOF > a | ||
> Small Mathematical Series. | ||||
> 1 | ||||
> 2 | ||||
> 3 | ||||
> 4 | ||||
> 5 | ||||
> Hop we are done. | ||||
> EOF | ||||
Martin Geisler
|
r12156 | $ hg commit -m branch1 | ||
Nicolas Dumazet
|
r11797 | $ hg co 0 | ||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
Pierre-Yves David
|
r21920 | $ cat << EOF > a | ||
> Small Mathematical Series. | ||||
> 1 | ||||
> 2 | ||||
> 3 | ||||
> 6 | ||||
> 8 | ||||
> Hop we are done. | ||||
> EOF | ||||
Martin Geisler
|
r12156 | $ hg commit -m branch2 | ||
Nicolas Dumazet
|
r11797 | created new head | ||
$ hg merge 1 | ||||
merging a | ||||
Siddharth Agarwal
|
r26614 | warning: conflicts while merging a! (edit, then use 'hg resolve --mark') | ||
Nicolas Dumazet
|
r11797 | 0 files updated, 0 files merged, 0 files removed, 1 files unresolved | ||
Pulkit Goyal
|
r35722 | use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon | ||
Matt Mackall
|
r12316 | [1] | ||
Nicolas Dumazet
|
r11797 | |||
$ hg id | ||||
Pierre-Yves David
|
r21920 | 618808747361+c0c68e4fe667+ tip | ||
Nicolas Dumazet
|
r11797 | |||
Pulkit Goyal
|
r33766 | $ echo "[commands]" >> $HGRCPATH | ||
$ echo "status.verbose=true" >> $HGRCPATH | ||||
$ hg status | ||||
M a | ||||
? a.orig | ||||
# The repository is in an unfinished *merge* state. | ||||
# Unresolved merge conflicts: | ||||
# | ||||
# a | ||||
# | ||||
# To mark files as resolved: hg resolve --mark FILE | ||||
Pulkit Goyal
|
r38360 | # To continue: hg commit | ||
Pulkit Goyal
|
r39001 | # To abort: hg merge --abort | ||
Pulkit Goyal
|
r33766 | |||
Yuya Nishihara
|
r39772 | $ hg status -Tjson | ||
[ | ||||
{ | ||||
Rodrigo Damazio Bovendorp
|
r44313 | "itemtype": "file", | ||
Yuya Nishihara
|
r39772 | "path": "a", | ||
Rodrigo Damazio Bovendorp
|
r44294 | "status": "M", | ||
"unresolved": true | ||||
Yuya Nishihara
|
r39772 | }, | ||
{ | ||||
Rodrigo Damazio Bovendorp
|
r44313 | "itemtype": "file", | ||
Yuya Nishihara
|
r39772 | "path": "a.orig", | ||
"status": "?" | ||||
Rodrigo Damazio Bovendorp
|
r44313 | }, | ||
{ | ||||
"itemtype": "morestatus", | ||||
"unfinished": "merge", | ||||
"unfinishedmsg": "To continue: hg commit\nTo abort: hg merge --abort" | ||||
Yuya Nishihara
|
r39772 | } | ||
] | ||||
Pulkit Goyal
|
r33766 | |||
Martin von Zweigbergk
|
r46696 | $ hg status -0 | ||
M a\x00? a.orig\x00 (no-eol) (esc) | ||||
Nicolas Dumazet
|
r11797 | $ cat a | ||
Pierre-Yves David
|
r21920 | Small Mathematical Series. | ||
1 | ||||
2 | ||||
3 | ||||
Simon Farnsworth
|
r30062 | <<<<<<< working copy: 618808747361 - test: branch2 | ||
Pierre-Yves David
|
r21920 | 6 | ||
8 | ||||
Durham Goode
|
r21519 | ======= | ||
Pierre-Yves David
|
r21920 | 4 | ||
5 | ||||
Kostia Balytskyi
|
r30460 | >>>>>>> merge rev: c0c68e4fe667 - test: branch1 | ||
Pierre-Yves David
|
r21920 | Hop we are done. | ||
Durham Goode
|
r21519 | |||
Pulkit Goyal
|
r33766 | $ hg status --config commands.status.verbose=0 | ||
Durham Goode
|
r21519 | M a | ||
? a.orig | ||||
Verify custom conflict markers | ||||
$ hg up -q --clean . | ||||
Yuya Nishihara
|
r32047 | $ cat <<EOF >> .hg/hgrc | ||
Martin von Zweigbergk
|
r46352 | > [command-templates] | ||
> mergemarker = '{author} {rev}' | ||||
> EOF | ||||
$ hg merge 1 | ||||
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 or 'hg merge --abort' to abandon | ||||
[1] | ||||
$ cat a | ||||
Small Mathematical Series. | ||||
1 | ||||
2 | ||||
3 | ||||
<<<<<<< working copy: test 2 | ||||
6 | ||||
8 | ||||
======= | ||||
4 | ||||
5 | ||||
>>>>>>> merge rev: test 1 | ||||
Hop we are done. | ||||
Verify custom conflict markers with legacy config name | ||||
$ hg up -q --clean . | ||||
$ cat <<EOF >> .hg/hgrc | ||||
Yuya Nishihara
|
r32047 | > [ui] | ||
> mergemarkertemplate = '{author} {rev}' | ||||
> EOF | ||||
Durham Goode
|
r21519 | |||
$ hg merge 1 | ||||
merging a | ||||
Siddharth Agarwal
|
r26614 | warning: conflicts while merging a! (edit, then use 'hg resolve --mark') | ||
Durham Goode
|
r21519 | 0 files updated, 0 files merged, 0 files removed, 1 files unresolved | ||
Pulkit Goyal
|
r35722 | use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon | ||
Durham Goode
|
r21519 | [1] | ||
$ cat a | ||||
Pierre-Yves David
|
r21920 | Small Mathematical Series. | ||
1 | ||||
2 | ||||
3 | ||||
Simon Farnsworth
|
r30062 | <<<<<<< working copy: test 2 | ||
Pierre-Yves David
|
r21920 | 6 | ||
8 | ||||
Durham Goode
|
r21519 | ======= | ||
Pierre-Yves David
|
r21920 | 4 | ||
5 | ||||
Simon Farnsworth
|
r30062 | >>>>>>> merge rev: test 1 | ||
Pierre-Yves David
|
r21920 | Hop we are done. | ||
Durham Goode
|
r21519 | |||
FUJIWARA Katsunori
|
r21864 | Verify line splitting of custom conflict marker which causes multiple lines | ||
$ hg up -q --clean . | ||||
$ cat >> .hg/hgrc <<EOF | ||||
Martin von Zweigbergk
|
r46352 | > [command-templates] | ||
> mergemarker={author} {rev}\nfoo\nbar\nbaz | ||||
FUJIWARA Katsunori
|
r21864 | > EOF | ||
$ hg -q merge 1 | ||||
Siddharth Agarwal
|
r26614 | warning: conflicts while merging a! (edit, then use 'hg resolve --mark') | ||
FUJIWARA Katsunori
|
r21864 | [1] | ||
$ cat a | ||||
Pierre-Yves David
|
r21920 | Small Mathematical Series. | ||
1 | ||||
2 | ||||
3 | ||||
Simon Farnsworth
|
r30062 | <<<<<<< working copy: test 2 | ||
Pierre-Yves David
|
r21920 | 6 | ||
8 | ||||
FUJIWARA Katsunori
|
r21864 | ======= | ||
Pierre-Yves David
|
r21920 | 4 | ||
5 | ||||
Simon Farnsworth
|
r30062 | >>>>>>> merge rev: test 1 | ||
Pierre-Yves David
|
r21920 | Hop we are done. | ||
FUJIWARA Katsunori
|
r21864 | |||
FUJIWARA Katsunori
|
r21865 | Verify line trimming of custom conflict marker using multi-byte characters | ||
$ hg up -q --clean . | ||||
Matt Harbison
|
r39743 | $ "$PYTHON" <<EOF | ||
Pulkit Goyal
|
r35967 | > fp = open('logfile', 'wb') | ||
Pulkit Goyal
|
r35965 | > fp.write(b'12345678901234567890123456789012345678901234567890' + | ||
> b'1234567890') # there are 5 more columns for 80 columns | ||||
FUJIWARA Katsunori
|
r21865 | > | ||
> # 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 | ||||
Martin von Zweigbergk
|
r46352 | > [command-templates] | ||
> mergemarker={desc|firstline} | ||||
FUJIWARA Katsunori
|
r21865 | > EOF | ||
$ hg -q --encoding utf-8 merge 1 | ||||
Siddharth Agarwal
|
r26614 | warning: conflicts while merging a! (edit, then use 'hg resolve --mark') | ||
FUJIWARA Katsunori
|
r21865 | [1] | ||
$ cat a | ||||
Pierre-Yves David
|
r21920 | Small Mathematical Series. | ||
1 | ||||
2 | ||||
3 | ||||
Simon Farnsworth
|
r30062 | <<<<<<< working copy: 1234567890123456789012345678901234567890123456789012345... | ||
Pierre-Yves David
|
r21920 | 6 | ||
8 | ||||
FUJIWARA Katsunori
|
r21865 | ======= | ||
Pierre-Yves David
|
r21920 | 4 | ||
5 | ||||
Simon Farnsworth
|
r30062 | >>>>>>> merge rev: branch1 | ||
Pierre-Yves David
|
r21920 | Hop we are done. | ||
FUJIWARA Katsunori
|
r21865 | |||
Durham Goode
|
r21519 | Verify basic conflict markers | ||
FUJIWARA Katsunori
|
r21865 | $ hg up -q --clean 2 | ||
Durham Goode
|
r21519 | $ printf "\n[ui]\nmergemarkers=basic\n" >> .hg/hgrc | ||
$ hg merge 1 | ||||
merging a | ||||
Siddharth Agarwal
|
r26614 | warning: conflicts while merging a! (edit, then use 'hg resolve --mark') | ||
Durham Goode
|
r21519 | 0 files updated, 0 files merged, 0 files removed, 1 files unresolved | ||
Pulkit Goyal
|
r35722 | use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon | ||
Durham Goode
|
r21519 | [1] | ||
$ cat a | ||||
Pierre-Yves David
|
r21920 | Small Mathematical Series. | ||
1 | ||||
2 | ||||
3 | ||||
Simon Farnsworth
|
r30062 | <<<<<<< working copy | ||
Pierre-Yves David
|
r21920 | 6 | ||
8 | ||||
Nicolas Dumazet
|
r11797 | ======= | ||
Pierre-Yves David
|
r21920 | 4 | ||
5 | ||||
Simon Farnsworth
|
r30062 | >>>>>>> merge rev | ||
Pierre-Yves David
|
r21920 | Hop we are done. | ||
Pierre-Yves David
|
r22028 | |||
internal:merge3 | ||||
$ hg up -q --clean . | ||||
$ hg merge 1 --tool internal:merge3 | ||||
merging a | ||||
Siddharth Agarwal
|
r26614 | warning: conflicts while merging a! (edit, then use 'hg resolve --mark') | ||
Pierre-Yves David
|
r22028 | 0 files updated, 0 files merged, 0 files removed, 1 files unresolved | ||
Pulkit Goyal
|
r35722 | use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon | ||
Pierre-Yves David
|
r22028 | [1] | ||
$ cat a | ||||
Small Mathematical Series. | ||||
Simon Farnsworth
|
r30062 | <<<<<<< working copy | ||
Pierre-Yves David
|
r22028 | 1 | ||
2 | ||||
3 | ||||
6 | ||||
8 | ||||
||||||| base | ||||
One | ||||
Two | ||||
Three | ||||
Four | ||||
Five | ||||
======= | ||||
1 | ||||
2 | ||||
3 | ||||
4 | ||||
5 | ||||
Simon Farnsworth
|
r30062 | >>>>>>> merge rev | ||
Pierre-Yves David
|
r22028 | Hop we are done. | ||
Jordi Gutiérrez Hermoso
|
r26224 | |||
Martin von Zweigbergk
|
r46724 | internal:mergediff | ||
$ hg co -C 1 | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ cat << EOF > a | ||||
> Small Mathematical Series. | ||||
> 1 | ||||
> 2 | ||||
> 3 | ||||
> 4 | ||||
> 4.5 | ||||
> 5 | ||||
> Hop we are done. | ||||
> EOF | ||||
$ hg co -m 2 -t internal:mergediff | ||||
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] | ||||
$ cat a | ||||
Small Mathematical Series. | ||||
1 | ||||
2 | ||||
3 | ||||
<<<<<<< | ||||
------- base | ||||
+++++++ working copy | ||||
4 | ||||
+4.5 | ||||
5 | ||||
======= destination | ||||
6 | ||||
8 | ||||
>>>>>>> | ||||
Hop we are done. | ||||
Test the same thing as above but modify a bit more so we instead get the working | ||||
copy in full and the diff from base to destination. | ||||
$ hg co -C 1 | ||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
$ cat << EOF > a | ||||
> Small Mathematical Series. | ||||
> 1 | ||||
> 2 | ||||
> 3.5 | ||||
> 4.5 | ||||
> 5.5 | ||||
> Hop we are done. | ||||
> EOF | ||||
$ hg co -m 2 -t internal:mergediff | ||||
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] | ||||
$ cat a | ||||
Small Mathematical Series. | ||||
1 | ||||
2 | ||||
<<<<<<< | ||||
======= working copy | ||||
3.5 | ||||
4.5 | ||||
5.5 | ||||
------- base | ||||
+++++++ destination | ||||
3 | ||||
-4 | ||||
-5 | ||||
+6 | ||||
+8 | ||||
>>>>>>> | ||||
Hop we are done. | ||||
Jordi Gutiérrez Hermoso
|
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 | ||||
Pulkit Goyal
|
r32698 | updated to "e0693e20f496: 123456789012345678901234567890123456789012345678901234567890????" | ||
Pierre-Yves David
|
r28029 | 1 other heads for branch "default" | ||
Jordi Gutiérrez Hermoso
|
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
|
r26614 | warning: conflicts while merging a! (edit, then use 'hg resolve --mark') | ||
Jordi Gutiérrez Hermoso
|
r26224 | 1 files updated, 0 files merged, 0 files removed, 1 files unresolved | ||
Pulkit Goyal
|
r35722 | use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon | ||
Jordi Gutiérrez Hermoso
|
r26224 | [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 | ||||
Pulkit Goyal
|
r32698 | updated to "18b51d585961: Add some stuff at the beginning" | ||
Pierre-Yves David
|
r28029 | 1 other heads for branch "default" | ||
Jordi Gutiérrez Hermoso
|
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 | ||||