annotate tests/test-bookmarks-current.t @ 23702:c48924787eaa

filectx.parents: enforce changeid of parent to be in own changectx ancestors Because of the way filenodes are computed, you can have multiple changesets "introducing" the same file revision. For example, in the changeset graph below, changeset 2 and 3 both change a file -to- and -from- the same content. o 3: content = new | | o 2: content = new |/ o 1: content = old In such cases, the file revision is create once, when 2 is added, and just reused for 3. So the file change in '3' (from "old" to "new)" has no linkrev pointing to it). We'll call this situation "linkrev-shadowing". As the linkrev is used for optimization purposes when walking a file history, the linkrev-shadowing results in an unexpected jump to another branch during such a walk.. This leads to multiple bugs with log, annotate and rename detection. One element to fix such bugs is to ensure that walking the file history sticks on the same topology as the changeset's history. For this purpose, we extend the logic in 'basefilectx.parents' so that it always defines the proper changeset to associate the parent file revision with. This "proper" changeset has to be an ancestor of the changeset associated with the child file revision. This logic is performed in the '_adjustlinkrev' function. This function is given the starting changeset and all the information regarding the parent file revision. If the linkrev for the file revision is an ancestor of the starting changeset, the linkrev is valid and will be used. If it is not, we detected a topological jump caused by linkrev shadowing, we are going to walk the ancestors of the starting changeset until we find one setting the file to the revision we are trying to create. The performance impact appears acceptable: - We are walking the changelog once for each filelog traversal (as there should be no overlap between searches), - changelog traversal itself is fairly cheap, compared to what is likely going to be perform on the result on the filelog traversal, - We only touch the manifest for ancestors touching the file, And such changesets are likely to be the one introducing the file. (except in pathological cases involving merge), - We use manifest diff instead of full manifest unpacking to check manifest content, so it does not involve applying multiple diffs in most case. - linkrev shadowing is not the common case. Tests for fixed issues in log, annotate and rename detection have been added. But this changeset does not solve all problems. It fixes -ancestry- computation, but if the linkrev-shadowed changesets is the starting one, we'll still get things wrong. We'll have to fix the bootstrapping of such operations in a later changeset. Also, the usage of `hg log FILE` without --follow still has issues with linkrev pointing to hidden changesets, because it relies on the `filelog` revset which implement its own traversal logic that is still to be fixed. Thanks goes to: - Matt Mackall: for nudging me in the right direction - Julien Cristau and RĂ©mi Cardona: for keep telling me linkrev bug were an evolution show stopper for 3 years. - Durham Goode: for finding a new linkrev issue every few weeks - Mads Kiilerich: for that last rename bug who raise this topic over my anoyance limit.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Tue, 23 Dec 2014 15:30:38 -0800
parents b59c2c8c45df
children 62da2d7745f9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
1 $ hg init
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
2
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
3 no bookmarks
7551
cab1cf26ca58 bookmarks: tests for track.current option
David Soria Parra <dsp@php.net>
parents:
diff changeset
4
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
5 $ hg bookmarks
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
6 no bookmarks set
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
7
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
8 set bookmark X
7551
cab1cf26ca58 bookmarks: tests for track.current option
David Soria Parra <dsp@php.net>
parents:
diff changeset
9
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
10 $ hg bookmark X
7551
cab1cf26ca58 bookmarks: tests for track.current option
David Soria Parra <dsp@php.net>
parents:
diff changeset
11
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
12 list bookmarks
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
13
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
14 $ hg bookmark
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
15 * X -1:000000000000
7551
cab1cf26ca58 bookmarks: tests for track.current option
David Soria Parra <dsp@php.net>
parents:
diff changeset
16
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
17 list bookmarks with color
7816
f420eafe59cd bookmarks: Set current bookmark if we create a new one on the tip
David Soria Parra <dsp@php.net>
parents: 7551
diff changeset
18
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
19 $ hg --config extensions.color= --config color.mode=ansi \
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
20 > bookmark --color=always
22775
b59c2c8c45df bookmarks: split ui.write() so that it can be easily ported to formatter api
Yuya Nishihara <yuya@tcha.org>
parents: 21503
diff changeset
21 \x1b[0;32m * \x1b[0m\x1b[0;32mX\x1b[0m\x1b[0;32m -1:000000000000\x1b[0m (esc)
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
22
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
23 update to bookmark X
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
24
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
25 $ hg update X
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
26 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
21503
10f15e34d86c update: show message when a bookmark is activated by update
Stephen Lee <sphen.lee@gmail.com>
parents: 21024
diff changeset
27 (activating bookmark X)
10826
717c35d55fb3 color: colorize based on output labels instead of parsing output
Brodie Rao <brodie@bitheap.org>
parents: 7817
diff changeset
28
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
29 list bookmarks
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
30
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
31 $ hg bookmarks
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
32 * X -1:000000000000
7551
cab1cf26ca58 bookmarks: tests for track.current option
David Soria Parra <dsp@php.net>
parents:
diff changeset
33
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
34 rename
7551
cab1cf26ca58 bookmarks: tests for track.current option
David Soria Parra <dsp@php.net>
parents:
diff changeset
35
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
36 $ hg bookmark -m X Z
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
37
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
38 list bookmarks
7551
cab1cf26ca58 bookmarks: tests for track.current option
David Soria Parra <dsp@php.net>
parents:
diff changeset
39
13620
8ee4b00ddfd8 bookmarks: fix update of the current bookmark during rename
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 13469
diff changeset
40 $ cat .hg/bookmarks.current
8ee4b00ddfd8 bookmarks: fix update of the current bookmark during rename
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 13469
diff changeset
41 Z (no-eol)
8ee4b00ddfd8 bookmarks: fix update of the current bookmark during rename
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 13469
diff changeset
42 $ cat .hg/bookmarks
8ee4b00ddfd8 bookmarks: fix update of the current bookmark during rename
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 13469
diff changeset
43 0000000000000000000000000000000000000000 Z
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
44 $ hg bookmarks
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
45 * Z -1:000000000000
7551
cab1cf26ca58 bookmarks: tests for track.current option
David Soria Parra <dsp@php.net>
parents:
diff changeset
46
19147
5b1835485442 bookmarks: allow bookmark command to take multiple arguments
Kevin Bullock <kbullock@ringworld.org>
parents: 19112
diff changeset
47 new bookmarks X and Y, first one made active
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
48
19147
5b1835485442 bookmarks: allow bookmark command to take multiple arguments
Kevin Bullock <kbullock@ringworld.org>
parents: 19112
diff changeset
49 $ hg bookmark Y X
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
50
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
51 list bookmarks
7551
cab1cf26ca58 bookmarks: tests for track.current option
David Soria Parra <dsp@php.net>
parents:
diff changeset
52
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
53 $ hg bookmark
19147
5b1835485442 bookmarks: allow bookmark command to take multiple arguments
Kevin Bullock <kbullock@ringworld.org>
parents: 19112
diff changeset
54 X -1:000000000000
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
55 * Y -1:000000000000
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
56 Z -1:000000000000
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
57
19147
5b1835485442 bookmarks: allow bookmark command to take multiple arguments
Kevin Bullock <kbullock@ringworld.org>
parents: 19112
diff changeset
58 $ hg bookmark -d X
5b1835485442 bookmarks: allow bookmark command to take multiple arguments
Kevin Bullock <kbullock@ringworld.org>
parents: 19112
diff changeset
59
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
60 commit
7551
cab1cf26ca58 bookmarks: tests for track.current option
David Soria Parra <dsp@php.net>
parents:
diff changeset
61
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
62 $ echo 'b' > b
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
63 $ hg add b
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
64 $ hg commit -m'test'
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
65
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
66 list bookmarks
7551
cab1cf26ca58 bookmarks: tests for track.current option
David Soria Parra <dsp@php.net>
parents:
diff changeset
67
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
68 $ hg bookmark
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
69 * Y 0:719295282060
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
70 Z -1:000000000000
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
71
13433
0b1bbc46516e bookmarks: verify switching bookmarks works properly
Augie Fackler <durin42@gmail.com>
parents: 13416
diff changeset
72 Verify that switching to Z updates the current bookmark:
0b1bbc46516e bookmarks: verify switching bookmarks works properly
Augie Fackler <durin42@gmail.com>
parents: 13416
diff changeset
73 $ hg update Z
0b1bbc46516e bookmarks: verify switching bookmarks works properly
Augie Fackler <durin42@gmail.com>
parents: 13416
diff changeset
74 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
21503
10f15e34d86c update: show message when a bookmark is activated by update
Stephen Lee <sphen.lee@gmail.com>
parents: 21024
diff changeset
75 (activating bookmark Z)
13433
0b1bbc46516e bookmarks: verify switching bookmarks works properly
Augie Fackler <durin42@gmail.com>
parents: 13416
diff changeset
76 $ hg bookmark
0b1bbc46516e bookmarks: verify switching bookmarks works properly
Augie Fackler <durin42@gmail.com>
parents: 13416
diff changeset
77 Y 0:719295282060
0b1bbc46516e bookmarks: verify switching bookmarks works properly
Augie Fackler <durin42@gmail.com>
parents: 13416
diff changeset
78 * Z -1:000000000000
0b1bbc46516e bookmarks: verify switching bookmarks works properly
Augie Fackler <durin42@gmail.com>
parents: 13416
diff changeset
79
0b1bbc46516e bookmarks: verify switching bookmarks works properly
Augie Fackler <durin42@gmail.com>
parents: 13416
diff changeset
80 Switch back to Y for the remaining tests in this file:
0b1bbc46516e bookmarks: verify switching bookmarks works properly
Augie Fackler <durin42@gmail.com>
parents: 13416
diff changeset
81 $ hg update Y
0b1bbc46516e bookmarks: verify switching bookmarks works properly
Augie Fackler <durin42@gmail.com>
parents: 13416
diff changeset
82 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
21503
10f15e34d86c update: show message when a bookmark is activated by update
Stephen Lee <sphen.lee@gmail.com>
parents: 21024
diff changeset
83 (activating bookmark Y)
13433
0b1bbc46516e bookmarks: verify switching bookmarks works properly
Augie Fackler <durin42@gmail.com>
parents: 13416
diff changeset
84
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
85 delete bookmarks
7817
cb516e788238 bookmarks: fixes bug where a deleted bookmark may still be treated as current when track.current option is set
Alex Unden <alu@zpuppet.org>
parents: 7816
diff changeset
86
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
87 $ hg bookmark -d Y
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
88 $ hg bookmark -d Z
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
89
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
90 list bookmarks
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
91
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
92 $ hg bookmark
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
93 no bookmarks set
7817
cb516e788238 bookmarks: fixes bug where a deleted bookmark may still be treated as current when track.current option is set
Alex Unden <alu@zpuppet.org>
parents: 7816
diff changeset
94
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
95 update to tip
7817
cb516e788238 bookmarks: fixes bug where a deleted bookmark may still be treated as current when track.current option is set
Alex Unden <alu@zpuppet.org>
parents: 7816
diff changeset
96
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
97 $ hg update tip
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
98 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
99
19112
23f785b38af3 bookmarks: fix bug that activated a bookmark even with -r passed
Sean Farley <sean.michael.farley@gmail.com>
parents: 19110
diff changeset
100 set bookmark Y using -r . but make sure that the active
23f785b38af3 bookmarks: fix bug that activated a bookmark even with -r passed
Sean Farley <sean.michael.farley@gmail.com>
parents: 19110
diff changeset
101 bookmark is not activated
7817
cb516e788238 bookmarks: fixes bug where a deleted bookmark may still be treated as current when track.current option is set
Alex Unden <alu@zpuppet.org>
parents: 7816
diff changeset
102
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
103 $ hg bookmark -r . Y
11561
e5aaaef91a27 bookmarks: ensure current bookmark is updated when specified with -r .
Brodie Rao <brodie@bitheap.org>
parents: 11141
diff changeset
104
19112
23f785b38af3 bookmarks: fix bug that activated a bookmark even with -r passed
Sean Farley <sean.michael.farley@gmail.com>
parents: 19110
diff changeset
105 list bookmarks, Y should not be active
11862
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
106
cad06c8d2073 tests: unify test-bookmarks-current
Martin Geisler <mg@lazybytes.net>
parents: 11561
diff changeset
107 $ hg bookmark
19112
23f785b38af3 bookmarks: fix bug that activated a bookmark even with -r passed
Sean Farley <sean.michael.farley@gmail.com>
parents: 19110
diff changeset
108 Y 0:719295282060
23f785b38af3 bookmarks: fix bug that activated a bookmark even with -r passed
Sean Farley <sean.michael.farley@gmail.com>
parents: 19110
diff changeset
109
23f785b38af3 bookmarks: fix bug that activated a bookmark even with -r passed
Sean Farley <sean.michael.farley@gmail.com>
parents: 19110
diff changeset
110 now, activate Y
23f785b38af3 bookmarks: fix bug that activated a bookmark even with -r passed
Sean Farley <sean.michael.farley@gmail.com>
parents: 19110
diff changeset
111
23f785b38af3 bookmarks: fix bug that activated a bookmark even with -r passed
Sean Farley <sean.michael.farley@gmail.com>
parents: 19110
diff changeset
112 $ hg up -q Y
14188
9029b1a38c30 bookmarks: allow to create/move bookmark without making it current (issue2788)
Kevin Bullock <kbullock@ringworld.org>
parents: 13620
diff changeset
113
9029b1a38c30 bookmarks: allow to create/move bookmark without making it current (issue2788)
Kevin Bullock <kbullock@ringworld.org>
parents: 13620
diff changeset
114 set bookmark Z using -i
9029b1a38c30 bookmarks: allow to create/move bookmark without making it current (issue2788)
Kevin Bullock <kbullock@ringworld.org>
parents: 13620
diff changeset
115
9029b1a38c30 bookmarks: allow to create/move bookmark without making it current (issue2788)
Kevin Bullock <kbullock@ringworld.org>
parents: 13620
diff changeset
116 $ hg bookmark -r . -i Z
9029b1a38c30 bookmarks: allow to create/move bookmark without making it current (issue2788)
Kevin Bullock <kbullock@ringworld.org>
parents: 13620
diff changeset
117 $ hg bookmarks
9029b1a38c30 bookmarks: allow to create/move bookmark without making it current (issue2788)
Kevin Bullock <kbullock@ringworld.org>
parents: 13620
diff changeset
118 * Y 0:719295282060
9029b1a38c30 bookmarks: allow to create/move bookmark without making it current (issue2788)
Kevin Bullock <kbullock@ringworld.org>
parents: 13620
diff changeset
119 Z 0:719295282060
14189
328422b0380d bookmarks: allow deactivating current bookmark with -i
Kevin Bullock <kbullock@ringworld.org>
parents: 14188
diff changeset
120
328422b0380d bookmarks: allow deactivating current bookmark with -i
Kevin Bullock <kbullock@ringworld.org>
parents: 14188
diff changeset
121 deactivate current bookmark using -i
328422b0380d bookmarks: allow deactivating current bookmark with -i
Kevin Bullock <kbullock@ringworld.org>
parents: 14188
diff changeset
122
328422b0380d bookmarks: allow deactivating current bookmark with -i
Kevin Bullock <kbullock@ringworld.org>
parents: 14188
diff changeset
123 $ hg bookmark -i Y
328422b0380d bookmarks: allow deactivating current bookmark with -i
Kevin Bullock <kbullock@ringworld.org>
parents: 14188
diff changeset
124 $ hg bookmarks
328422b0380d bookmarks: allow deactivating current bookmark with -i
Kevin Bullock <kbullock@ringworld.org>
parents: 14188
diff changeset
125 Y 0:719295282060
328422b0380d bookmarks: allow deactivating current bookmark with -i
Kevin Bullock <kbullock@ringworld.org>
parents: 14188
diff changeset
126 Z 0:719295282060
328422b0380d bookmarks: allow deactivating current bookmark with -i
Kevin Bullock <kbullock@ringworld.org>
parents: 14188
diff changeset
127
328422b0380d bookmarks: allow deactivating current bookmark with -i
Kevin Bullock <kbullock@ringworld.org>
parents: 14188
diff changeset
128 $ hg up -q Y
17735
605fe310691f bookmarks: deactivate current bookmark if no name is given
Kevin Bullock <kbullock@ringworld.org>
parents: 16742
diff changeset
129 $ hg bookmark -i
605fe310691f bookmarks: deactivate current bookmark if no name is given
Kevin Bullock <kbullock@ringworld.org>
parents: 16742
diff changeset
130 $ hg bookmarks
605fe310691f bookmarks: deactivate current bookmark if no name is given
Kevin Bullock <kbullock@ringworld.org>
parents: 16742
diff changeset
131 Y 0:719295282060
605fe310691f bookmarks: deactivate current bookmark if no name is given
Kevin Bullock <kbullock@ringworld.org>
parents: 16742
diff changeset
132 Z 0:719295282060
605fe310691f bookmarks: deactivate current bookmark if no name is given
Kevin Bullock <kbullock@ringworld.org>
parents: 16742
diff changeset
133 $ hg bookmark -i
605fe310691f bookmarks: deactivate current bookmark if no name is given
Kevin Bullock <kbullock@ringworld.org>
parents: 16742
diff changeset
134 no active bookmark
605fe310691f bookmarks: deactivate current bookmark if no name is given
Kevin Bullock <kbullock@ringworld.org>
parents: 16742
diff changeset
135 $ hg up -q Y
14189
328422b0380d bookmarks: allow deactivating current bookmark with -i
Kevin Bullock <kbullock@ringworld.org>
parents: 14188
diff changeset
136 $ hg bookmarks
328422b0380d bookmarks: allow deactivating current bookmark with -i
Kevin Bullock <kbullock@ringworld.org>
parents: 14188
diff changeset
137 * Y 0:719295282060
328422b0380d bookmarks: allow deactivating current bookmark with -i
Kevin Bullock <kbullock@ringworld.org>
parents: 14188
diff changeset
138 Z 0:719295282060
328422b0380d bookmarks: allow deactivating current bookmark with -i
Kevin Bullock <kbullock@ringworld.org>
parents: 14188
diff changeset
139
328422b0380d bookmarks: allow deactivating current bookmark with -i
Kevin Bullock <kbullock@ringworld.org>
parents: 14188
diff changeset
140 deactivate current bookmark while renaming
328422b0380d bookmarks: allow deactivating current bookmark with -i
Kevin Bullock <kbullock@ringworld.org>
parents: 14188
diff changeset
141
328422b0380d bookmarks: allow deactivating current bookmark with -i
Kevin Bullock <kbullock@ringworld.org>
parents: 14188
diff changeset
142 $ hg bookmark -i -m Y X
328422b0380d bookmarks: allow deactivating current bookmark with -i
Kevin Bullock <kbullock@ringworld.org>
parents: 14188
diff changeset
143 $ hg bookmarks
328422b0380d bookmarks: allow deactivating current bookmark with -i
Kevin Bullock <kbullock@ringworld.org>
parents: 14188
diff changeset
144 X 0:719295282060
328422b0380d bookmarks: allow deactivating current bookmark with -i
Kevin Bullock <kbullock@ringworld.org>
parents: 14188
diff changeset
145 Z 0:719295282060
16191
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
146
19110
741d94aa92e4 bookmarks: resolve divergent bookmarks when moving active bookmark forward
Sean Farley <sean.michael.farley@gmail.com>
parents: 17735
diff changeset
147 bare update moves the active bookmark forward and clear the divergent bookmarks
16742
973671fc0804 bookmarks: test that bare update forwards active bookmark
Kevin Bullock <kbullock@ringworld.org>
parents: 16191
diff changeset
148
973671fc0804 bookmarks: test that bare update forwards active bookmark
Kevin Bullock <kbullock@ringworld.org>
parents: 16191
diff changeset
149 $ echo a > a
973671fc0804 bookmarks: test that bare update forwards active bookmark
Kevin Bullock <kbullock@ringworld.org>
parents: 16191
diff changeset
150 $ hg ci -Am1
973671fc0804 bookmarks: test that bare update forwards active bookmark
Kevin Bullock <kbullock@ringworld.org>
parents: 16191
diff changeset
151 adding a
19110
741d94aa92e4 bookmarks: resolve divergent bookmarks when moving active bookmark forward
Sean Farley <sean.michael.farley@gmail.com>
parents: 17735
diff changeset
152 $ echo b >> a
741d94aa92e4 bookmarks: resolve divergent bookmarks when moving active bookmark forward
Sean Farley <sean.michael.farley@gmail.com>
parents: 17735
diff changeset
153 $ hg ci -Am2
741d94aa92e4 bookmarks: resolve divergent bookmarks when moving active bookmark forward
Sean Farley <sean.michael.farley@gmail.com>
parents: 17735
diff changeset
154 $ hg bookmark X@1 -r 1
741d94aa92e4 bookmarks: resolve divergent bookmarks when moving active bookmark forward
Sean Farley <sean.michael.farley@gmail.com>
parents: 17735
diff changeset
155 $ hg bookmark X@2 -r 2
16742
973671fc0804 bookmarks: test that bare update forwards active bookmark
Kevin Bullock <kbullock@ringworld.org>
parents: 16191
diff changeset
156 $ hg update X
973671fc0804 bookmarks: test that bare update forwards active bookmark
Kevin Bullock <kbullock@ringworld.org>
parents: 16191
diff changeset
157 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
21503
10f15e34d86c update: show message when a bookmark is activated by update
Stephen Lee <sphen.lee@gmail.com>
parents: 21024
diff changeset
158 (activating bookmark X)
16742
973671fc0804 bookmarks: test that bare update forwards active bookmark
Kevin Bullock <kbullock@ringworld.org>
parents: 16191
diff changeset
159 $ hg bookmarks
973671fc0804 bookmarks: test that bare update forwards active bookmark
Kevin Bullock <kbullock@ringworld.org>
parents: 16191
diff changeset
160 * X 0:719295282060
19110
741d94aa92e4 bookmarks: resolve divergent bookmarks when moving active bookmark forward
Sean Farley <sean.michael.farley@gmail.com>
parents: 17735
diff changeset
161 X@1 1:cc586d725fbe
741d94aa92e4 bookmarks: resolve divergent bookmarks when moving active bookmark forward
Sean Farley <sean.michael.farley@gmail.com>
parents: 17735
diff changeset
162 X@2 2:49e1c4e84c58
16742
973671fc0804 bookmarks: test that bare update forwards active bookmark
Kevin Bullock <kbullock@ringworld.org>
parents: 16191
diff changeset
163 Z 0:719295282060
973671fc0804 bookmarks: test that bare update forwards active bookmark
Kevin Bullock <kbullock@ringworld.org>
parents: 16191
diff changeset
164 $ hg update
973671fc0804 bookmarks: test that bare update forwards active bookmark
Kevin Bullock <kbullock@ringworld.org>
parents: 16191
diff changeset
165 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
973671fc0804 bookmarks: test that bare update forwards active bookmark
Kevin Bullock <kbullock@ringworld.org>
parents: 16191
diff changeset
166 updating bookmark X
973671fc0804 bookmarks: test that bare update forwards active bookmark
Kevin Bullock <kbullock@ringworld.org>
parents: 16191
diff changeset
167 $ hg bookmarks
19110
741d94aa92e4 bookmarks: resolve divergent bookmarks when moving active bookmark forward
Sean Farley <sean.michael.farley@gmail.com>
parents: 17735
diff changeset
168 * X 2:49e1c4e84c58
16742
973671fc0804 bookmarks: test that bare update forwards active bookmark
Kevin Bullock <kbullock@ringworld.org>
parents: 16191
diff changeset
169 Z 0:719295282060
973671fc0804 bookmarks: test that bare update forwards active bookmark
Kevin Bullock <kbullock@ringworld.org>
parents: 16191
diff changeset
170
16191
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
171 test deleting .hg/bookmarks.current when explicitly updating
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
172 to a revision
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
173
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
174 $ echo a >> b
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
175 $ hg ci -m.
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
176 $ hg up -q X
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
177 $ test -f .hg/bookmarks.current
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
178
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
179 try to update to it again to make sure we don't
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
180 set and then unset it
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
181
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
182 $ hg up -q X
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
183 $ test -f .hg/bookmarks.current
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
184
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
185 $ hg up -q 1
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
186 $ test -f .hg/bookmarks.current
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
187 [1]
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
188
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
189 when a bookmark is active, hg up -r . is
21024
7731a2281cf0 spelling: fixes from spell checker
Mads Kiilerich <madski@unity3d.com>
parents: 19147
diff changeset
190 analogous to hg book -i <active bookmark>
16191
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
191
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
192 $ hg up -q X
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
193 $ hg up -q .
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
194 $ test -f .hg/bookmarks.current
7c75924a6926 update: delete bookmarks.current when explicitly updating to a rev (issue3276)
Idan Kamara <idankk86@gmail.com>
parents: 14189
diff changeset
195 [1]