test-copy-move-merge.t
171 lines
| 4.0 KiB
| text/troff
|
Tads3Lexer
/ tests / test-copy-move-merge.t
Pulkit Goyal
|
r34080 | Test for the full copytracing algorithm | ||
======================================= | ||||
Martin Geisler
|
r13956 | $ hg init t | ||
Pradeepkumar Gayam
|
r11972 | $ cd t | ||
$ echo 1 > a | ||||
Martin Geisler
|
r12156 | $ hg ci -qAm "first" | ||
Pradeepkumar Gayam
|
r11972 | |||
$ hg cp a b | ||||
$ hg mv a c | ||||
$ echo 2 >> b | ||||
$ echo 2 >> c | ||||
Martin Geisler
|
r12156 | $ hg ci -qAm "second" | ||
Pradeepkumar Gayam
|
r11972 | |||
$ hg co -C 0 | ||||
1 files updated, 0 files merged, 2 files removed, 0 files unresolved | ||||
$ echo 0 > a | ||||
$ echo 1 >> a | ||||
Martin Geisler
|
r12156 | $ hg ci -qAm "other" | ||
Pradeepkumar Gayam
|
r11972 | |||
$ hg merge --debug | ||||
unmatched files in other: | ||||
b | ||||
c | ||||
Thomas Arendsen Hein
|
r16795 | all copies found (* = to merge, ! = divergent, % = renamed and deleted): | ||
Mads Kiilerich
|
r18362 | src: 'a' -> dst: 'b' * | ||
Siddharth Agarwal
|
r18135 | src: 'a' -> dst: 'c' * | ||
Pradeepkumar Gayam
|
r11972 | checking for directory renames | ||
resolving manifests | ||||
Siddharth Agarwal
|
r18605 | branchmerge: True, force: False, partial: False | ||
Martin Geisler
|
r15625 | ancestor: b8bf91eeebbc, local: add3f11052fa+, remote: 17c05bb7fcb6 | ||
Mads Kiilerich
|
r21391 | preserving a for resolve of b | ||
preserving a for resolve of c | ||||
removing a | ||||
Matt Harbison
|
r28318 | starting 4 threads for background file closing (?) | ||
Siddharth Agarwal
|
r26618 | b: remote moved from a -> m (premerge) | ||
Siddharth Agarwal
|
r27161 | picked tool ':merge' for b (binary False symlink False changedelete False) | ||
Pradeepkumar Gayam
|
r11972 | merging a and b to b | ||
Martin Geisler
|
r12156 | my b@add3f11052fa+ other b@17c05bb7fcb6 ancestor a@b8bf91eeebbc | ||
Pradeepkumar Gayam
|
r11972 | premerge successful | ||
Siddharth Agarwal
|
r26618 | c: remote moved from a -> m (premerge) | ||
Siddharth Agarwal
|
r27161 | picked tool ':merge' for c (binary False symlink False changedelete False) | ||
Pradeepkumar Gayam
|
r11972 | merging a and c to c | ||
Martin Geisler
|
r12156 | my c@add3f11052fa+ other c@17c05bb7fcb6 ancestor a@b8bf91eeebbc | ||
Pradeepkumar Gayam
|
r11972 | premerge successful | ||
0 files updated, 2 files merged, 0 files removed, 0 files unresolved | ||||
(branch merge, don't forget to commit) | ||||
file b | ||||
$ cat b | ||||
0 | ||||
1 | ||||
2 | ||||
file c | ||||
$ cat c | ||||
0 | ||||
1 | ||||
2 | ||||
Mads Kiilerich
|
r16913 | |||
Durham Goode
|
r26013 | Test disabling copy tracing | ||
- first verify copy metadata was kept | ||||
$ hg up -qC 2 | ||||
$ hg rebase --keep -d 1 -b 2 --config extensions.rebase= | ||||
rebasing 2:add3f11052fa "other" (tip) | ||||
merging b and a to b | ||||
merging c and a to c | ||||
$ cat b | ||||
0 | ||||
1 | ||||
2 | ||||
- next verify copy metadata is lost when disabled | ||||
$ hg strip -r . --config extensions.strip= | ||||
2 files updated, 0 files merged, 0 files removed, 0 files unresolved | ||||
Matt Harbison
|
r35394 | saved backup bundle to $TESTTMP/t/.hg/strip-backup/550bd84c0cd3-fc575957-backup.hg | ||
Durham Goode
|
r26013 | $ hg up -qC 2 | ||
Pulkit Goyal
|
r34079 | $ hg rebase --keep -d 1 -b 2 --config extensions.rebase= --config experimental.copytrace=off --config ui.interactive=True << EOF | ||
Siddharth Agarwal
|
r27596 | > c | ||
> EOF | ||||
Durham Goode
|
r26013 | rebasing 2:add3f11052fa "other" (tip) | ||
Pulkit Goyal
|
r39321 | file 'a' was deleted in local [dest] but was modified in other [source]. | ||
Kyle Lippincott
|
r42765 | You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved. | ||
What do you want to do? c | ||||
Durham Goode
|
r26013 | |||
$ cat b | ||||
1 | ||||
2 | ||||
Mads Kiilerich
|
r16913 | $ cd .. | ||
Durham Goode
|
r26013 | |||
Verify disabling copy tracing still keeps copies from rebase source | ||||
$ hg init copydisable | ||||
$ cd copydisable | ||||
$ touch a | ||||
$ hg ci -Aqm 'add a' | ||||
$ touch b | ||||
$ hg ci -Aqm 'add b, c' | ||||
$ hg cp b x | ||||
$ echo x >> x | ||||
$ hg ci -qm 'copy b->x' | ||||
$ hg up -q 1 | ||||
$ touch z | ||||
$ hg ci -Aqm 'add z' | ||||
$ hg log -G -T '{rev} {desc}\n' | ||||
@ 3 add z | ||||
| | ||||
| o 2 copy b->x | ||||
|/ | ||||
o 1 add b, c | ||||
| | ||||
o 0 add a | ||||
Pulkit Goyal
|
r34079 | $ hg rebase -d . -b 2 --config extensions.rebase= --config experimental.copytrace=off | ||
Durham Goode
|
r26013 | rebasing 2:6adcf8c12e7d "copy b->x" | ||
Matt Harbison
|
r35394 | saved backup bundle to $TESTTMP/copydisable/.hg/strip-backup/6adcf8c12e7d-ce4b3e75-rebase.hg | ||
Durham Goode
|
r26013 | $ hg up -q 3 | ||
$ hg log -f x -T '{rev} {desc}\n' | ||||
3 copy b->x | ||||
1 add b, c | ||||
$ cd ../ | ||||
Verify we duplicate existing copies, instead of detecting them | ||||
$ hg init copydisable3 | ||||
$ cd copydisable3 | ||||
$ touch a | ||||
$ hg ci -Aqm 'add a' | ||||
$ hg cp a b | ||||
$ hg ci -Aqm 'copy a->b' | ||||
$ hg mv b c | ||||
$ hg ci -Aqm 'move b->c' | ||||
$ hg up -q 0 | ||||
$ hg cp a b | ||||
$ echo b >> b | ||||
$ hg ci -Aqm 'copy a->b (2)' | ||||
$ hg log -G -T '{rev} {desc}\n' | ||||
@ 3 copy a->b (2) | ||||
| | ||||
| o 2 move b->c | ||||
| | | ||||
| o 1 copy a->b | ||||
|/ | ||||
o 0 add a | ||||
Pulkit Goyal
|
r34079 | $ hg rebase -d 2 -s 3 --config extensions.rebase= --config experimental.copytrace=off | ||
Durham Goode
|
r26013 | rebasing 3:47e1a9e6273b "copy a->b (2)" (tip) | ||
Matt Harbison
|
r35394 | saved backup bundle to $TESTTMP/copydisable3/.hg/strip-backup/47e1a9e6273b-2d099c59-rebase.hg | ||
Durham Goode
|
r26013 | |||
$ hg log -G -f b | ||||
@ changeset: 3:76024fb4b05b | ||||
Martijn Pieters
|
r28627 | : tag: tip | ||
: user: test | ||||
: date: Thu Jan 01 00:00:00 1970 +0000 | ||||
: summary: copy a->b (2) | ||||
: | ||||
Durham Goode
|
r26013 | o changeset: 0:ac82d8b1f7c4 | ||
user: test | ||||
date: Thu Jan 01 00:00:00 1970 +0000 | ||||
summary: add a | ||||