##// END OF EJS Templates
largefiles: restore standins according to restored dirstate...
largefiles: restore standins according to restored dirstate Before this patch, standins are restored from the NEW parent of the working directory at "hg rollback", and this causes: - standins removed in the rollback-ed revision are restored, and become orphan, because they are already marked as "R" in the restored dirstate and expected to be unlinked - standins added in the rollback-ed revision are left as they were before rollback, because they are not included in the new parent (this may not be so serious) This patch replaces the "merge.update" invocation with a specific implementation to restore standins according to restored dirstate. This is also the preparation to centralize the logic of updating largefiles into the function wrapping "merge.update" in the subsequent patch. After that patch, "merge.update" will also update largefiles in the working directory and be redundant for restoring standins only.

File last commit:

r22028:3d0572ab default
r22285:85bded43 default
Show More
test-conflict.t
234 lines | 4.1 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
warning: conflicts during merge.
Matt Mackall
merge: give a special message for internal:merge failure (issue3105)
r15501 merging a incomplete! (edit conflicts, 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.
Matt Mackall
filemerge: use non-minimal conflict marker regions (BC)...
r21921 <<<<<<< local: 618808747361 - test: branch2
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 1
2
3
6
8
Durham Goode
merge: add conflict marker formatter (BC)...
r21519 =======
Matt Mackall
filemerge: use non-minimal conflict marker regions (BC)...
r21921 1
2
3
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
warning: conflicts during merge.
merging a incomplete! (edit conflicts, 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 update -C .' to abandon
[1]
$ cat a
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 Small Mathematical Series.
Matt Mackall
filemerge: use non-minimal conflict marker regions (BC)...
r21921 <<<<<<< local: test 2
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 1
2
3
6
8
Durham Goode
merge: add conflict marker formatter (BC)...
r21519 =======
Matt Mackall
filemerge: use non-minimal conflict marker regions (BC)...
r21921 1
2
3
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
warning: conflicts during merge.
merging a incomplete! (edit conflicts, then use 'hg resolve --mark')
[1]
$ cat a
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 Small Mathematical Series.
Matt Mackall
filemerge: use non-minimal conflict marker regions (BC)...
r21921 <<<<<<< local: test 2
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 1
2
3
6
8
FUJIWARA Katsunori
filemerge: use only the first line of the generated conflict marker for safety...
r21864 =======
Matt Mackall
filemerge: use non-minimal conflict marker regions (BC)...
r21921 1
2
3
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
warning: conflicts during merge.
merging a incomplete! (edit conflicts, then use 'hg resolve --mark')
[1]
$ cat a
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 Small Mathematical Series.
Matt Mackall
filemerge: use non-minimal conflict marker regions (BC)...
r21921 <<<<<<< local: 123456789012345678901234567890123456789012345678901234567890\xe3\x81\x82... (esc)
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 1
2
3
6
8
FUJIWARA Katsunori
filemerge: use 'util.ellipsis' to trim custom conflict markers correctly...
r21865 =======
Matt Mackall
filemerge: use non-minimal conflict marker regions (BC)...
r21921 1
2
3
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
warning: conflicts during merge.
merging a incomplete! (edit conflicts, 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 update -C .' to abandon
[1]
$ cat a
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 Small Mathematical Series.
Matt Mackall
filemerge: use non-minimal conflict marker regions (BC)...
r21921 <<<<<<< local
Pierre-Yves David
test: use more elaborated content in ``test-conflict.t``...
r21920 1
2
3
6
8
Nicolas Dumazet
tests: unify test-conflict
r11797 =======
Matt Mackall
filemerge: use non-minimal conflict marker regions (BC)...
r21921 1
2
3
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
warning: conflicts during merge.
merging a incomplete! (edit conflicts, 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 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.