##// END OF EJS Templates
rebase: make summary template configurable, with default to shared template...
rebase: make summary template configurable, with default to shared template Differential Revision: https://phab.mercurial-scm.org/D9251

File last commit:

r44726:9659ec16 default
r46355:96fcc37a default
Show More
test-copy-move-merge.t
255 lines | 5.7 KiB | text/troff | Tads3Lexer
/ tests / test-copy-move-merge.t
Pulkit Goyal
copytrace: move the default copytracing algorithm in a new function...
r34080 Test for the full copytracing algorithm
=======================================
test: document test-copy-move-merge.t...
r44726
Initial Setup
=============
use git diff to see rename
$ cat << EOF >> $HGRCPATH
> [diff]
> git=yes
> EOF
Setup an history where one side copy and rename a file (and update it) while the other side update it.
Martin Geisler
tests: remove redundant mkdir...
r13956 $ hg init t
Pradeepkumar Gayam
tests: unify test-copy-move-merge
r11972 $ cd t
$ echo 1 > a
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg ci -qAm "first"
Pradeepkumar Gayam
tests: unify test-copy-move-merge
r11972
$ hg cp a b
$ hg mv a c
$ echo 2 >> b
$ echo 2 >> c
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg ci -qAm "second"
Pradeepkumar Gayam
tests: unify test-copy-move-merge
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
tests: remove unneeded -d flags...
r12156 $ hg ci -qAm "other"
Pradeepkumar Gayam
tests: unify test-copy-move-merge
r11972
test: document test-copy-move-merge.t...
r44726 $ hg log -G --patch
@ changeset: 2:add3f11052fa
| tag: tip
| parent: 0:b8bf91eeebbc
| user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: other
|
| diff --git a/a b/a
| --- a/a
| +++ b/a
| @@ -1,1 +1,2 @@
| +0
| 1
|
| o changeset: 1:17c05bb7fcb6
|/ user: test
| date: Thu Jan 01 00:00:00 1970 +0000
| summary: second
|
| diff --git a/a b/b
| rename from a
| rename to b
| --- a/a
| +++ b/b
| @@ -1,1 +1,2 @@
| 1
| +2
| diff --git a/a b/c
| copy from a
| copy to c
| --- a/a
| +++ b/c
| @@ -1,1 +1,2 @@
| 1
| +2
|
o changeset: 0:b8bf91eeebbc
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: first
diff --git a/a b/a
new file mode 100644
--- /dev/null
+++ b/a
@@ -0,0 +1,1 @@
+1
Test Simple Merge
=================
Pradeepkumar Gayam
tests: unify test-copy-move-merge
r11972 $ hg merge --debug
unmatched files in other:
b
c
Thomas Arendsen Hein
merge: show renamed on one and deleted on the other side in debug output
r16795 all copies found (* = to merge, ! = divergent, % = renamed and deleted):
Martin von Zweigbergk
copies: print debug information about copies per side/branch...
r44679 on remote side:
src: 'a' -> dst: 'b' *
src: 'a' -> dst: 'c' *
Pradeepkumar Gayam
tests: unify test-copy-move-merge
r11972 checking for directory renames
resolving manifests
Siddharth Agarwal
manifestmerge: pass in branchmerge and force separately...
r18605 branchmerge: True, force: False, partial: False
Martin Geisler
merge: make debug output easier to read...
r15625 ancestor: b8bf91eeebbc, local: add3f11052fa+, remote: 17c05bb7fcb6
Mads Kiilerich
merge: change debug logging - test output changes but no real changes...
r21391 preserving a for resolve of b
preserving a for resolve of c
removing a
Matt Harbison
tests: flag Windows specific lines about background closing as optional
r28318 starting 4 threads for background file closing (?)
Siddharth Agarwal
merge.mergestate: perform all premerges before any merges (BC)...
r26618 b: remote moved from a -> m (premerge)
Siddharth Agarwal
filemerge: add debug output for whether this is a change/delete conflict...
r27161 picked tool ':merge' for b (binary False symlink False changedelete False)
Pradeepkumar Gayam
tests: unify test-copy-move-merge
r11972 merging a and b to b
Martin Geisler
tests: remove unneeded -d flags...
r12156 my b@add3f11052fa+ other b@17c05bb7fcb6 ancestor a@b8bf91eeebbc
Pradeepkumar Gayam
tests: unify test-copy-move-merge
r11972 premerge successful
Siddharth Agarwal
merge.mergestate: perform all premerges before any merges (BC)...
r26618 c: remote moved from a -> m (premerge)
Siddharth Agarwal
filemerge: add debug output for whether this is a change/delete conflict...
r27161 picked tool ':merge' for c (binary False symlink False changedelete False)
Pradeepkumar Gayam
tests: unify test-copy-move-merge
r11972 merging a and c to c
Martin Geisler
tests: remove unneeded -d flags...
r12156 my c@add3f11052fa+ other c@17c05bb7fcb6 ancestor a@b8bf91eeebbc
Pradeepkumar Gayam
tests: unify test-copy-move-merge
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
tests: add missing trailing 'cd ..'...
r16913
Durham Goode
copy: add flag for disabling copy tracing...
r26013 Test disabling copy tracing
test: document test-copy-move-merge.t...
r44726 ===========================
Durham Goode
copy: add flag for disabling copy tracing...
r26013
test: document test-copy-move-merge.t...
r44726 first verify copy metadata was kept
-----------------------------------
Durham Goode
copy: add flag for disabling copy tracing...
r26013
$ 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
test: document test-copy-move-merge.t...
r44726 next verify copy metadata is lost when disabled
------------------------------------------------
Durham Goode
copy: add flag for disabling copy tracing...
r26013
$ hg strip -r . --config extensions.strip=
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/t/.hg/strip-backup/550bd84c0cd3-fc575957-backup.hg
Durham Goode
copy: add flag for disabling copy tracing...
r26013 $ hg up -qC 2
Pulkit Goyal
copytrace: replace experimental.disablecopytrace config with copytrace (BC)...
r34079 $ hg rebase --keep -d 1 -b 2 --config extensions.rebase= --config experimental.copytrace=off --config ui.interactive=True << EOF
Siddharth Agarwal
test-copy-move-merge.t: explicitly request changed version...
r27596 > c
> EOF
Durham Goode
copy: add flag for disabling copy tracing...
r26013 rebasing 2:add3f11052fa "other" (tip)
Pulkit Goyal
filemerge: fix the wrong placements of messages in prompt...
r39321 file 'a' was deleted in local [dest] but was modified in other [source].
Kyle Lippincott
filemerge: make last line of prompts <40 english chars (issue6158)...
r42765 You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved.
What do you want to do? c
Durham Goode
copy: add flag for disabling copy tracing...
r26013
$ cat b
1
2
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..
Durham Goode
copy: add flag for disabling copy tracing...
r26013
Verify disabling copy tracing still keeps copies from rebase source
test: document test-copy-move-merge.t...
r44726 -------------------------------------------------------------------
Durham Goode
copy: add flag for disabling copy tracing...
r26013
$ 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
copytrace: replace experimental.disablecopytrace config with copytrace (BC)...
r34079 $ hg rebase -d . -b 2 --config extensions.rebase= --config experimental.copytrace=off
Durham Goode
copy: add flag for disabling copy tracing...
r26013 rebasing 2:6adcf8c12e7d "copy b->x"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/copydisable/.hg/strip-backup/6adcf8c12e7d-ce4b3e75-rebase.hg
Durham Goode
copy: add flag for disabling copy tracing...
r26013 $ hg up -q 3
$ hg log -f x -T '{rev} {desc}\n'
3 copy b->x
1 add b, c
$ cd ../
test: document test-copy-move-merge.t...
r44726
test storage preservation
-------------------------
Verify rebase do not discard recorded copies data when copy tracing usage is
disabled.
Setup
Durham Goode
copy: add flag for disabling copy tracing...
r26013
$ 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
test: document test-copy-move-merge.t...
r44726
Actual Test
A file is copied on one side and has been moved twice on the other side. the
file is copied from `0:a`, so the file history of the `3:b` should trace directly to `0:a`.
Pulkit Goyal
copytrace: replace experimental.disablecopytrace config with copytrace (BC)...
r34079 $ hg rebase -d 2 -s 3 --config extensions.rebase= --config experimental.copytrace=off
Durham Goode
copy: add flag for disabling copy tracing...
r26013 rebasing 3:47e1a9e6273b "copy a->b (2)" (tip)
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 saved backup bundle to $TESTTMP/copydisable3/.hg/strip-backup/47e1a9e6273b-2d099c59-rebase.hg
Durham Goode
copy: add flag for disabling copy tracing...
r26013
$ hg log -G -f b
@ changeset: 3:76024fb4b05b
Martijn Pieters
graphmod: set default edge styles for ascii graphs (BC)...
r28627 : tag: tip
: user: test
: date: Thu Jan 01 00:00:00 1970 +0000
: summary: copy a->b (2)
:
Durham Goode
copy: add flag for disabling copy tracing...
r26013 o changeset: 0:ac82d8b1f7c4
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: add a