##// END OF EJS Templates
rebase: change and standarize template for rebase's one-line summary...
rebase: change and standarize template for rebase's one-line summary This removes the default template in rebase and switches to a centrally defined template. I've simplified it a bit to avoid the conditional parenthesis. I've also added labels so the different parts can be easily colored. The template is somewhat similar to what we've used internally at Google for a few years. I'm happy to change the template if others have opinions. Should we reuse the `color.log.` names as I have? Differential Revision: https://phab.mercurial-scm.org/D9252

File last commit:

r46356:f90a5c21 default
r46356:f90a5c21 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=
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 rebasing 2:add3f11052fa tip "other"
Durham Goode
copy: add flag for disabling copy tracing...
r26013 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
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 rebasing 2:add3f11052fa tip "other"
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
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 rebasing 3:47e1a9e6273b tip "copy a->b (2)"
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