Mercurial > hg
annotate tests/test-copy-move-merge.t @ 26631:e077ce385609
localrepo: restore dirstate to one before rollbacking if not parent-gone
'localrepository.rollback()' explicilty restores dirstate, only if at
least one of current parents of the working directory is removed at
rollbacking (a.k.a "parent-gone").
After DirstateTransactionPlan, 'dirstate.write()' will cause marking
'.hg/dirstate' as a file to be restored at rollbacking.
https://mercurial.selenic.com/wiki/DirstateTransactionPlan
Then, 'transaction.rollback()' restores '.hg/dirstate' regardless of
parents of the working directory at that time, and this causes
unexpected dirstate changes if not "parent-gone" (e.g. "hg update" to
another branch after "hg commit" or so, then "hg rollback").
To avoid such situation, this patch restores dirstate to one before
rollbacking if not "parent-gone".
before:
b1. restore dirstate explicitly, if "parent-gone"
after:
a1. save dirstate before actual rollbacking via dirstateguard
a2. restore dirstate via 'transaction.rollback()'
a3. if "parent-gone"
- discard backup (a1)
- restore dirstate from 'undo.dirstate'
a4. otherwise, restore dirstate from backup (a1)
Even though restoring dirstate at (a3) after (a2) seems redundant,
this patch keeps this existing code path, because:
- it isn't ensured that 'dirstate.write()' was invoked at least once
while transaction running
If not, '.hg/dirstate' isn't restored at (a2).
In addition to it, rude 3rd party extension invoking
'dirstate.write()' without 'repo' while transaction running (see
subsequent patches for detail) may break consistency of a file
backup-ed by transaction.
- this patch mainly focuses on changes for DirstateTransactionPlan
Restoring dirstate at (a3) itself should be cheaper enough than
rollbacking itself. Redundancy will be removed in next step.
Newly added test is almost meaningless at this point. It will be used
to detect regression while implementing delayed dirstate write out.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Tue, 13 Oct 2015 12:25:43 -0700 |
parents | 8e6d5b7317e6 |
children | 296d55def9c4 |
rev | line source |
---|---|
13956
ffb5c09ba822
tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents:
12156
diff
changeset
|
1 $ hg init t |
11972
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
2 $ cd t |
5059
8d9bdcbb2b18
merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
3 |
11972
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
4 $ echo 1 > a |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11972
diff
changeset
|
5 $ hg ci -qAm "first" |
5059
8d9bdcbb2b18
merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
6 |
11972
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
7 $ hg cp a b |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
8 $ hg mv a c |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
9 $ echo 2 >> b |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
10 $ echo 2 >> c |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
11 |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11972
diff
changeset
|
12 $ hg ci -qAm "second" |
5059
8d9bdcbb2b18
merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
13 |
11972
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
14 $ hg co -C 0 |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
15 1 files updated, 0 files merged, 2 files removed, 0 files unresolved |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
16 |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
17 $ echo 0 > a |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
18 $ echo 1 >> a |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
19 |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11972
diff
changeset
|
20 $ hg ci -qAm "other" |
5059
8d9bdcbb2b18
merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
21 |
11972
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
22 $ hg merge --debug |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
23 searching for copies back to rev 1 |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
24 unmatched files in other: |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
25 b |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
26 c |
16795
e9ae770eff1c
merge: show renamed on one and deleted on the other side in debug output
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15625
diff
changeset
|
27 all copies found (* = to merge, ! = divergent, % = renamed and deleted): |
18362
5a4f220fbfca
copies: report found copies sorted
Mads Kiilerich <mads@kiilerich.com>
parents:
18360
diff
changeset
|
28 src: 'a' -> dst: 'b' * |
18135
a6fe1b9cc68f
copies: make debug messages more sensible
Siddharth Agarwal <sid0@fb.com>
parents:
16913
diff
changeset
|
29 src: 'a' -> dst: 'c' * |
11972
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
30 checking for directory renames |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
31 resolving manifests |
18605
bcf29565d89f
manifestmerge: pass in branchmerge and force separately
Siddharth Agarwal <sid0@fb.com>
parents:
18541
diff
changeset
|
32 branchmerge: True, force: False, partial: False |
15625
efdcce3fd2d5
merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents:
13956
diff
changeset
|
33 ancestor: b8bf91eeebbc, local: add3f11052fa+, remote: 17c05bb7fcb6 |
21391
cb15835456cb
merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents:
20945
diff
changeset
|
34 preserving a for resolve of b |
cb15835456cb
merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents:
20945
diff
changeset
|
35 preserving a for resolve of c |
cb15835456cb
merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents:
20945
diff
changeset
|
36 removing a |
26618
8e6d5b7317e6
merge.mergestate: perform all premerges before any merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
26517
diff
changeset
|
37 b: remote moved from a -> m (premerge) |
26517
d8463a743d7d
filemerge: normalize 'internal:foo' names to ':foo'
Siddharth Agarwal <sid0@fb.com>
parents:
26013
diff
changeset
|
38 picked tool ':merge' for b (binary False symlink False) |
11972
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
39 merging a and b to b |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11972
diff
changeset
|
40 my b@add3f11052fa+ other b@17c05bb7fcb6 ancestor a@b8bf91eeebbc |
11972
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
41 premerge successful |
26618
8e6d5b7317e6
merge.mergestate: perform all premerges before any merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents:
26517
diff
changeset
|
42 c: remote moved from a -> m (premerge) |
26517
d8463a743d7d
filemerge: normalize 'internal:foo' names to ':foo'
Siddharth Agarwal <sid0@fb.com>
parents:
26013
diff
changeset
|
43 picked tool ':merge' for c (binary False symlink False) |
11972
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
44 merging a and c to c |
12156
4c94b6d0fb1c
tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents:
11972
diff
changeset
|
45 my c@add3f11052fa+ other c@17c05bb7fcb6 ancestor a@b8bf91eeebbc |
11972
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
46 premerge successful |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
47 0 files updated, 2 files merged, 0 files removed, 0 files unresolved |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
48 (branch merge, don't forget to commit) |
5059
8d9bdcbb2b18
merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
49 |
11972
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
50 file b |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
51 $ cat b |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
52 0 |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
53 1 |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
54 2 |
5059
8d9bdcbb2b18
merge: avoid double deletion mentioned in issue636
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
55 |
11972
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
56 file c |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
57 $ cat c |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
58 0 |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
59 1 |
b708cadc6e8f
tests: unify test-copy-move-merge
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
5059
diff
changeset
|
60 2 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16795
diff
changeset
|
61 |
26013
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
62 Test disabling copy tracing |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
63 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
64 - first verify copy metadata was kept |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
65 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
66 $ hg up -qC 2 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
67 $ hg rebase --keep -d 1 -b 2 --config extensions.rebase= |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
68 rebasing 2:add3f11052fa "other" (tip) |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
69 merging b and a to b |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
70 merging c and a to c |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
71 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
72 $ cat b |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
73 0 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
74 1 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
75 2 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
76 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
77 - next verify copy metadata is lost when disabled |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
78 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
79 $ hg strip -r . --config extensions.strip= |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
80 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
81 saved backup bundle to $TESTTMP/t/.hg/strip-backup/550bd84c0cd3-fc575957-backup.hg (glob) |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
82 $ hg up -qC 2 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
83 $ hg rebase --keep -d 1 -b 2 --config extensions.rebase= --config experimental.disablecopytrace=True |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
84 rebasing 2:add3f11052fa "other" (tip) |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
85 remote changed a which local deleted |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
86 use (c)hanged version or leave (d)eleted? c |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
87 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
88 $ cat b |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
89 1 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
90 2 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
91 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16795
diff
changeset
|
92 $ cd .. |
26013
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
93 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
94 Verify disabling copy tracing still keeps copies from rebase source |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
95 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
96 $ hg init copydisable |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
97 $ cd copydisable |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
98 $ touch a |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
99 $ hg ci -Aqm 'add a' |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
100 $ touch b |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
101 $ hg ci -Aqm 'add b, c' |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
102 $ hg cp b x |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
103 $ echo x >> x |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
104 $ hg ci -qm 'copy b->x' |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
105 $ hg up -q 1 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
106 $ touch z |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
107 $ hg ci -Aqm 'add z' |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
108 $ hg log -G -T '{rev} {desc}\n' |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
109 @ 3 add z |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
110 | |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
111 | o 2 copy b->x |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
112 |/ |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
113 o 1 add b, c |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
114 | |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
115 o 0 add a |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
116 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
117 $ hg rebase -d . -b 2 --config extensions.rebase= --config experimental.disablecopytrace=True |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
118 rebasing 2:6adcf8c12e7d "copy b->x" |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
119 saved backup bundle to $TESTTMP/copydisable/.hg/strip-backup/6adcf8c12e7d-ce4b3e75-backup.hg (glob) |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
120 $ hg up -q 3 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
121 $ hg log -f x -T '{rev} {desc}\n' |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
122 3 copy b->x |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
123 1 add b, c |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
124 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
125 $ cd ../ |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
126 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
127 Verify we duplicate existing copies, instead of detecting them |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
128 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
129 $ hg init copydisable3 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
130 $ cd copydisable3 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
131 $ touch a |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
132 $ hg ci -Aqm 'add a' |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
133 $ hg cp a b |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
134 $ hg ci -Aqm 'copy a->b' |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
135 $ hg mv b c |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
136 $ hg ci -Aqm 'move b->c' |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
137 $ hg up -q 0 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
138 $ hg cp a b |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
139 $ echo b >> b |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
140 $ hg ci -Aqm 'copy a->b (2)' |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
141 $ hg log -G -T '{rev} {desc}\n' |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
142 @ 3 copy a->b (2) |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
143 | |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
144 | o 2 move b->c |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
145 | | |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
146 | o 1 copy a->b |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
147 |/ |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
148 o 0 add a |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
149 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
150 $ hg rebase -d 2 -s 3 --config extensions.rebase= --config experimental.disablecopytrace=True |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
151 rebasing 3:47e1a9e6273b "copy a->b (2)" (tip) |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
152 saved backup bundle to $TESTTMP/copydisable3/.hg/strip-backup/47e1a9e6273b-2d099c59-backup.hg (glob) |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
153 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
154 $ hg log -G -f b |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
155 @ changeset: 3:76024fb4b05b |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
156 | tag: tip |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
157 | user: test |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
158 | date: Thu Jan 01 00:00:00 1970 +0000 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
159 | summary: copy a->b (2) |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
160 | |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
161 o changeset: 0:ac82d8b1f7c4 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
162 user: test |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
163 date: Thu Jan 01 00:00:00 1970 +0000 |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
164 summary: add a |
38f92d12357c
copy: add flag for disabling copy tracing
Durham Goode <durham@fb.com>
parents:
25125
diff
changeset
|
165 |