Mercurial > hg
annotate tests/test-update-reverse.t @ 31994:b36318e6d2ef
track-tags: introduce first bits of tags tracking during transaction
This changeset introduces detection of tags changes during transaction. When
this happens a 'tag_moved=1' argument is set for hooks, similar to what we do
for bookmarks and phases.
This code is disabled by default as there are still various performance
concerns. Some require a smarter use of our existing tag caches and some other
require rework around the transaction logic to skip execution when unneeded.
These performance improvements have been delayed, I would like to be able to
experiment and stabilize the feature behavior first.
Later changesets will push the concept further and provide a way for hooks to
know what are the actual changes introduced by the transaction. Similar work
is needed for the other families of changes (bookmark, phase, obsolescence,
etc). Upgrade of the transaction logic will likely be performed at the same
time.
The current code can report some false positive when .hgtags file changes but
resulting tags are unchanged. This will be fixed in the next changeset.
For testing, we simply globally enable a hook in the tag test as all the
possible tag update cases should exist there. A couple of them show the false
positive mentioned above.
See in code documentation for more details.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Tue, 28 Mar 2017 06:38:09 +0200 |
parents | bd625cd4e5e7 |
children | 5c2a4f37eace |
rev | line source |
---|---|
12279 | 1 $ hg init |
2 | |
3 $ touch a | |
4 $ hg add a | |
5 $ hg commit -m "Added a" | |
1236
67a28636ea64
Fix bug with co -C across branches, update tests
mpm@selenic.com
parents:
diff
changeset
|
6 |
12279 | 7 $ touch main |
8 $ hg add main | |
9 $ hg commit -m "Added main" | |
10 $ hg checkout 0 | |
11 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
1236
67a28636ea64
Fix bug with co -C across branches, update tests
mpm@selenic.com
parents:
diff
changeset
|
12 |
12279 | 13 'main' should be gone: |
14 | |
15 $ ls | |
16 a | |
1236
67a28636ea64
Fix bug with co -C across branches, update tests
mpm@selenic.com
parents:
diff
changeset
|
17 |
12279 | 18 $ touch side1 |
19 $ hg add side1 | |
20 $ hg commit -m "Added side1" | |
21 created new head | |
22 $ touch side2 | |
23 $ hg add side2 | |
24 $ hg commit -m "Added side2" | |
1236
67a28636ea64
Fix bug with co -C across branches, update tests
mpm@selenic.com
parents:
diff
changeset
|
25 |
12279 | 26 $ hg log |
27 changeset: 3:91ebc10ed028 | |
28 tag: tip | |
29 user: test | |
30 date: Thu Jan 01 00:00:00 1970 +0000 | |
31 summary: Added side2 | |
32 | |
33 changeset: 2:b932d7dbb1e1 | |
34 parent: 0:c2eda428b523 | |
35 user: test | |
36 date: Thu Jan 01 00:00:00 1970 +0000 | |
37 summary: Added side1 | |
38 | |
39 changeset: 1:71a760306caf | |
40 user: test | |
41 date: Thu Jan 01 00:00:00 1970 +0000 | |
42 summary: Added main | |
43 | |
44 changeset: 0:c2eda428b523 | |
45 user: test | |
46 date: Thu Jan 01 00:00:00 1970 +0000 | |
47 summary: Added a | |
48 | |
1236
67a28636ea64
Fix bug with co -C across branches, update tests
mpm@selenic.com
parents:
diff
changeset
|
49 |
12279 | 50 $ hg heads |
51 changeset: 3:91ebc10ed028 | |
52 tag: tip | |
53 user: test | |
54 date: Thu Jan 01 00:00:00 1970 +0000 | |
55 summary: Added side2 | |
56 | |
57 changeset: 1:71a760306caf | |
58 user: test | |
59 date: Thu Jan 01 00:00:00 1970 +0000 | |
60 summary: Added main | |
61 | |
62 $ ls | |
63 a | |
64 side1 | |
65 side2 | |
1236
67a28636ea64
Fix bug with co -C across branches, update tests
mpm@selenic.com
parents:
diff
changeset
|
66 |
12279 | 67 $ hg update --debug -C 1 |
68 resolving manifests | |
18605
bcf29565d89f
manifestmerge: pass in branchmerge and force separately
Siddharth Agarwal <sid0@fb.com>
parents:
18360
diff
changeset
|
69 branchmerge: False, force: True, partial: False |
15625
efdcce3fd2d5
merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents:
12279
diff
changeset
|
70 ancestor: 91ebc10ed028+, local: 91ebc10ed028+, remote: 71a760306caf |
18360
760c0d67ce5e
merge: process files in sorted order
Mads Kiilerich <mads@kiilerich.com>
parents:
15625
diff
changeset
|
71 side1: other deleted -> r |
21391
cb15835456cb
merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents:
19095
diff
changeset
|
72 removing side1 |
12279 | 73 side2: other deleted -> r |
18631
e2dc5397bc82
tests: update test output (will be folded into parent)
Bryan O'Sullivan <bryano@fb.com>
parents:
18605
diff
changeset
|
74 removing side2 |
21391
cb15835456cb
merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents:
19095
diff
changeset
|
75 main: remote created -> g |
18631
e2dc5397bc82
tests: update test output (will be folded into parent)
Bryan O'Sullivan <bryano@fb.com>
parents:
18605
diff
changeset
|
76 getting main |
12279 | 77 1 files updated, 0 files merged, 2 files removed, 0 files unresolved |
1236
67a28636ea64
Fix bug with co -C across branches, update tests
mpm@selenic.com
parents:
diff
changeset
|
78 |
12279 | 79 $ ls |
80 a | |
81 main | |
1236
67a28636ea64
Fix bug with co -C across branches, update tests
mpm@selenic.com
parents:
diff
changeset
|
82 |