Mercurial > hg
annotate tests/test-tags.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 | e8f9dffca36f |
children | ab6468270b83 |
rev | line source |
---|---|
24706
5150b2b5b345
tests: move blackbox testing of tags to test-tags.t
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24532
diff
changeset
|
1 setup |
5150b2b5b345
tests: move blackbox testing of tags to test-tags.t
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24532
diff
changeset
|
2 |
5150b2b5b345
tests: move blackbox testing of tags to test-tags.t
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24532
diff
changeset
|
3 $ cat >> $HGRCPATH << EOF |
5150b2b5b345
tests: move blackbox testing of tags to test-tags.t
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24532
diff
changeset
|
4 > [extensions] |
5150b2b5b345
tests: move blackbox testing of tags to test-tags.t
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24532
diff
changeset
|
5 > blackbox= |
5150b2b5b345
tests: move blackbox testing of tags to test-tags.t
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24532
diff
changeset
|
6 > mock=$TESTDIR/mockblackbox.py |
5150b2b5b345
tests: move blackbox testing of tags to test-tags.t
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24532
diff
changeset
|
7 > EOF |
5150b2b5b345
tests: move blackbox testing of tags to test-tags.t
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24532
diff
changeset
|
8 |
11744 | 9 Helper functions: |
10 | |
11 $ cacheexists() { | |
24762
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
12 > [ -f .hg/cache/tags2-visible ] && echo "tag cache exists" || echo "no tag cache" |
11744 | 13 > } |
345 | 14 |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
15 $ fnodescacheexists() { |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
16 > [ -f .hg/cache/hgtagsfnodes1 ] && echo "fnodes cache exists" || echo "no fnodes cache" |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
17 > } |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
18 |
11744 | 19 $ dumptags() { |
20 > rev=$1 | |
21 > echo "rev $rev: .hgtags:" | |
22 > hg cat -r$rev .hgtags | |
23 > } | |
9151
f528d1a93491
tags: implement persistent tag caching (issue548).
Greg Ward <greg-hg@gerg.ca>
parents:
9144
diff
changeset
|
24 |
9152
4017291c4c48
tags: support 'instant' tag retrieval (issue548)
Greg Ward <greg-hg@gerg.ca>
parents:
9151
diff
changeset
|
25 # XXX need to test that the tag cache works when we strip an old head |
4017291c4c48
tags: support 'instant' tag retrieval (issue548)
Greg Ward <greg-hg@gerg.ca>
parents:
9151
diff
changeset
|
26 # and add a new one rooted off non-tip: i.e. node and rev of tip are the |
4017291c4c48
tags: support 'instant' tag retrieval (issue548)
Greg Ward <greg-hg@gerg.ca>
parents:
9151
diff
changeset
|
27 # same, but stuff has changed behind tip. |
4017291c4c48
tags: support 'instant' tag retrieval (issue548)
Greg Ward <greg-hg@gerg.ca>
parents:
9151
diff
changeset
|
28 |
11744 | 29 Setup: |
9143
a604c98dbf62
test-tags: clarify test output; simplify test script a bit (issue548).
Greg Ward <greg-hg@gerg.ca>
parents:
5658
diff
changeset
|
30 |
11744 | 31 $ hg init t |
32 $ cd t | |
33 $ cacheexists | |
34 no tag cache | |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
35 $ fnodescacheexists |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
36 no fnodes cache |
11744 | 37 $ hg id |
38 000000000000 tip | |
39 $ cacheexists | |
40 no tag cache | |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
41 $ fnodescacheexists |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
42 no fnodes cache |
11744 | 43 $ echo a > a |
44 $ hg add a | |
45 $ hg commit -m "test" | |
46 $ hg co | |
47 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
48 $ hg identify | |
49 acb14030fe0a tip | |
25683
3b1fc40626d8
identify: avoid a crash when given '-r wdir()'
Matt Harbison <matt_harbison@yahoo.com>
parents:
25402
diff
changeset
|
50 $ hg identify -r 'wdir()' |
3b1fc40626d8
identify: avoid a crash when given '-r wdir()'
Matt Harbison <matt_harbison@yahoo.com>
parents:
25402
diff
changeset
|
51 acb14030fe0a tip |
11744 | 52 $ cacheexists |
53 tag cache exists | |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
54 No fnodes cache because .hgtags file doesn't exist |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
55 (this is an implementation detail) |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
56 $ fnodescacheexists |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
57 no fnodes cache |
11744 | 58 |
12758
2d754eae430c
tags: do not fail if tags.cache is corrupted (issue2444)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
12640
diff
changeset
|
59 Try corrupting the cache |
2d754eae430c
tags: do not fail if tags.cache is corrupted (issue2444)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
12640
diff
changeset
|
60 |
24762
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
61 $ printf 'a b' > .hg/cache/tags2-visible |
12758
2d754eae430c
tags: do not fail if tags.cache is corrupted (issue2444)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
12640
diff
changeset
|
62 $ hg identify |
2d754eae430c
tags: do not fail if tags.cache is corrupted (issue2444)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
12640
diff
changeset
|
63 acb14030fe0a tip |
2d754eae430c
tags: do not fail if tags.cache is corrupted (issue2444)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
12640
diff
changeset
|
64 $ cacheexists |
2d754eae430c
tags: do not fail if tags.cache is corrupted (issue2444)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
12640
diff
changeset
|
65 tag cache exists |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
66 $ fnodescacheexists |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
67 no fnodes cache |
12758
2d754eae430c
tags: do not fail if tags.cache is corrupted (issue2444)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
12640
diff
changeset
|
68 $ hg identify |
2d754eae430c
tags: do not fail if tags.cache is corrupted (issue2444)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
12640
diff
changeset
|
69 acb14030fe0a tip |
2d754eae430c
tags: do not fail if tags.cache is corrupted (issue2444)
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
12640
diff
changeset
|
70 |
11744 | 71 Create local tag with long name: |
72 | |
73 $ T=`hg identify --debug --id` | |
74 $ hg tag -l "This is a local tag with a really long name!" | |
75 $ hg tags | |
76 tip 0:acb14030fe0a | |
77 This is a local tag with a really long name! 0:acb14030fe0a | |
78 $ rm .hg/localtags | |
79 | |
80 Create a tag behind hg's back: | |
9143
a604c98dbf62
test-tags: clarify test output; simplify test script a bit (issue548).
Greg Ward <greg-hg@gerg.ca>
parents:
5658
diff
changeset
|
81 |
11744 | 82 $ echo "$T first" > .hgtags |
83 $ cat .hgtags | |
84 acb14030fe0a21b60322c440ad2d20cf7685a376 first | |
85 $ hg add .hgtags | |
86 $ hg commit -m "add tags" | |
87 $ hg tags | |
88 tip 1:b9154636be93 | |
89 first 0:acb14030fe0a | |
90 $ hg identify | |
91 b9154636be93 tip | |
92 | |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
93 We should have a fnodes cache now that we have a real tag |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
94 The cache should have an empty entry for rev 0 and a valid entry for rev 1. |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
95 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
96 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
97 $ fnodescacheexists |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
98 fnodes cache exists |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
99 $ f --size --hexdump .hg/cache/hgtagsfnodes1 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
100 .hg/cache/hgtagsfnodes1: size=48 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
101 0000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
102 0010: ff ff ff ff ff ff ff ff b9 15 46 36 26 b7 b4 a7 |..........F6&...| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
103 0020: 73 e0 9e e3 c5 2f 51 0e 19 e0 5e 1f f9 66 d8 59 |s..../Q...^..f.Y| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
104 |
11744 | 105 Repeat with cold tag cache: |
106 | |
24762
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
107 $ rm -f .hg/cache/tags2-visible .hg/cache/hgtagsfnodes1 |
11744 | 108 $ hg identify |
109 b9154636be93 tip | |
110 | |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
111 $ fnodescacheexists |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
112 fnodes cache exists |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
113 $ f --size --hexdump .hg/cache/hgtagsfnodes1 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
114 .hg/cache/hgtagsfnodes1: size=48 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
115 0000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
116 0010: ff ff ff ff ff ff ff ff b9 15 46 36 26 b7 b4 a7 |..........F6&...| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
117 0020: 73 e0 9e e3 c5 2f 51 0e 19 e0 5e 1f f9 66 d8 59 |s..../Q...^..f.Y| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
118 |
24806
61aea11fb83d
tags: do not abort if failed to write lock file to save cache
Yuya Nishihara <yuya@tcha.org>
parents:
24802
diff
changeset
|
119 And again, but now unable to write tag cache or lock file: |
9143
a604c98dbf62
test-tags: clarify test output; simplify test script a bit (issue548).
Greg Ward <greg-hg@gerg.ca>
parents:
5658
diff
changeset
|
120 |
16857
1415edd88c56
test-tags: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
15443
diff
changeset
|
121 #if unix-permissions |
24762
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
122 $ rm -f .hg/cache/tags2-visible .hg/cache/hgtagsfnodes1 |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
123 $ chmod 555 .hg/cache |
11744 | 124 $ hg identify |
125 b9154636be93 tip | |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
126 $ chmod 755 .hg/cache |
24806
61aea11fb83d
tags: do not abort if failed to write lock file to save cache
Yuya Nishihara <yuya@tcha.org>
parents:
24802
diff
changeset
|
127 |
61aea11fb83d
tags: do not abort if failed to write lock file to save cache
Yuya Nishihara <yuya@tcha.org>
parents:
24802
diff
changeset
|
128 $ chmod 555 .hg |
61aea11fb83d
tags: do not abort if failed to write lock file to save cache
Yuya Nishihara <yuya@tcha.org>
parents:
24802
diff
changeset
|
129 $ hg identify |
61aea11fb83d
tags: do not abort if failed to write lock file to save cache
Yuya Nishihara <yuya@tcha.org>
parents:
24802
diff
changeset
|
130 b9154636be93 tip |
61aea11fb83d
tags: do not abort if failed to write lock file to save cache
Yuya Nishihara <yuya@tcha.org>
parents:
24802
diff
changeset
|
131 $ chmod 755 .hg |
16857
1415edd88c56
test-tags: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
15443
diff
changeset
|
132 #endif |
11744 | 133 |
24706
5150b2b5b345
tests: move blackbox testing of tags to test-tags.t
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24532
diff
changeset
|
134 Tag cache debug info written to blackbox log |
5150b2b5b345
tests: move blackbox testing of tags to test-tags.t
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24532
diff
changeset
|
135 |
24762
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
136 $ rm -f .hg/cache/tags2-visible .hg/cache/hgtagsfnodes1 |
24706
5150b2b5b345
tests: move blackbox testing of tags to test-tags.t
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24532
diff
changeset
|
137 $ hg identify |
5150b2b5b345
tests: move blackbox testing of tags to test-tags.t
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24532
diff
changeset
|
138 b9154636be93 tip |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
139 $ hg blackbox -l 5 |
26185 | 140 1970/01/01 00:00:00 bob (*)> identify (glob) |
141 1970/01/01 00:00:00 bob (*)> writing 48 bytes to cache/hgtagsfnodes1 (glob) | |
142 1970/01/01 00:00:00 bob (*)> 0/1 cache hits/lookups in * seconds (glob) | |
143 1970/01/01 00:00:00 bob (*)> writing .hg/cache/tags2-visible with 1 tags (glob) | |
144 1970/01/01 00:00:00 bob (*)> identify exited 0 after ?.?? seconds (glob) | |
24706
5150b2b5b345
tests: move blackbox testing of tags to test-tags.t
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24532
diff
changeset
|
145 |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
146 Failure to acquire lock results in no write |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
147 |
24762
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
148 $ rm -f .hg/cache/tags2-visible .hg/cache/hgtagsfnodes1 |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
149 $ echo 'foo:1' > .hg/wlock |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
150 $ hg identify |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
151 b9154636be93 tip |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
152 $ hg blackbox -l 5 |
26185 | 153 1970/01/01 00:00:00 bob (*)> identify (glob) |
154 1970/01/01 00:00:00 bob (*)> not writing .hg/cache/hgtagsfnodes1 because lock cannot be acquired (glob) | |
155 1970/01/01 00:00:00 bob (*)> 0/1 cache hits/lookups in * seconds (glob) | |
156 1970/01/01 00:00:00 bob (*)> writing .hg/cache/tags2-visible with 1 tags (glob) | |
157 1970/01/01 00:00:00 bob (*)> identify exited 0 after * seconds (glob) | |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
158 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
159 $ fnodescacheexists |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
160 no fnodes cache |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
161 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
162 $ rm .hg/wlock |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
163 |
24762
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
164 $ rm -f .hg/cache/tags2-visible .hg/cache/hgtagsfnodes1 |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
165 $ hg identify |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
166 b9154636be93 tip |
24706
5150b2b5b345
tests: move blackbox testing of tags to test-tags.t
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24532
diff
changeset
|
167 |
11744 | 168 Create a branch: |
9151
f528d1a93491
tags: implement persistent tag caching (issue548).
Greg Ward <greg-hg@gerg.ca>
parents:
9144
diff
changeset
|
169 |
11744 | 170 $ echo bb > a |
171 $ hg status | |
172 M a | |
173 $ hg identify | |
174 b9154636be93+ tip | |
175 $ hg co first | |
176 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
177 $ hg id | |
178 acb14030fe0a+ first | |
25683
3b1fc40626d8
identify: avoid a crash when given '-r wdir()'
Matt Harbison <matt_harbison@yahoo.com>
parents:
25402
diff
changeset
|
179 $ hg id -r 'wdir()' |
3b1fc40626d8
identify: avoid a crash when given '-r wdir()'
Matt Harbison <matt_harbison@yahoo.com>
parents:
25402
diff
changeset
|
180 acb14030fe0a+ first |
11744 | 181 $ hg -v id |
182 acb14030fe0a+ first | |
183 $ hg status | |
184 M a | |
185 $ echo 1 > b | |
186 $ hg add b | |
187 $ hg commit -m "branch" | |
188 created new head | |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
189 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
190 Creating a new commit shouldn't append the .hgtags fnodes cache until |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
191 tags info is accessed |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
192 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
193 $ f --size --hexdump .hg/cache/hgtagsfnodes1 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
194 .hg/cache/hgtagsfnodes1: size=48 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
195 0000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
196 0010: ff ff ff ff ff ff ff ff b9 15 46 36 26 b7 b4 a7 |..........F6&...| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
197 0020: 73 e0 9e e3 c5 2f 51 0e 19 e0 5e 1f f9 66 d8 59 |s..../Q...^..f.Y| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
198 |
11744 | 199 $ hg id |
200 c8edf04160c7 tip | |
201 | |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
202 First 4 bytes of record 3 are changeset fragment |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
203 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
204 $ f --size --hexdump .hg/cache/hgtagsfnodes1 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
205 .hg/cache/hgtagsfnodes1: size=72 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
206 0000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
207 0010: ff ff ff ff ff ff ff ff b9 15 46 36 26 b7 b4 a7 |..........F6&...| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
208 0020: 73 e0 9e e3 c5 2f 51 0e 19 e0 5e 1f f9 66 d8 59 |s..../Q...^..f.Y| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
209 0030: c8 ed f0 41 00 00 00 00 00 00 00 00 00 00 00 00 |...A............| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
210 0040: 00 00 00 00 00 00 00 00 |........| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
211 |
11744 | 212 Merge the two heads: |
9366
9ff178e7b627
tags: don't crash if unable to write tag cache
Greg Ward <greg-hg@gerg.ca>
parents:
9152
diff
changeset
|
213 |
11744 | 214 $ hg merge 1 |
215 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
216 (branch merge, don't forget to commit) | |
217 $ hg id | |
218 c8edf04160c7+b9154636be93+ tip | |
219 $ hg status | |
220 M .hgtags | |
221 $ hg commit -m "merge" | |
222 | |
223 Create a fake head, make sure tag not visible afterwards: | |
224 | |
225 $ cp .hgtags tags | |
226 $ hg tag last | |
227 $ hg rm .hgtags | |
228 $ hg commit -m "remove" | |
9143
a604c98dbf62
test-tags: clarify test output; simplify test script a bit (issue548).
Greg Ward <greg-hg@gerg.ca>
parents:
5658
diff
changeset
|
229 |
11744 | 230 $ mv tags .hgtags |
231 $ hg add .hgtags | |
232 $ hg commit -m "readd" | |
233 $ | |
234 $ hg tags | |
235 tip 6:35ff301afafe | |
236 first 0:acb14030fe0a | |
237 | |
238 Add invalid tags: | |
345 | 239 |
11744 | 240 $ echo "spam" >> .hgtags |
241 $ echo >> .hgtags | |
242 $ echo "foo bar" >> .hgtags | |
12366
c01dc9087d9a
tests: drop a bunch of sed calls from unified tests
Matt Mackall <mpm@selenic.com>
parents:
12327
diff
changeset
|
243 $ echo "a5a5 invalid" >> .hg/localtags |
17345
4f8054d3171b
check-code: fix check for trailing whitespace on sh command lines
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
diff
changeset
|
244 $ cat .hgtags |
11744 | 245 acb14030fe0a21b60322c440ad2d20cf7685a376 first |
246 spam | |
247 | |
248 foo bar | |
249 $ hg commit -m "tags" | |
250 | |
251 Report tag parse error on other head: | |
2320
dbdce3b99988
fix parsing of tags. make parse errors useful. add new tag tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2283
diff
changeset
|
252 |
11744 | 253 $ hg up 3 |
254 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
255 $ echo 'x y' >> .hgtags | |
256 $ hg commit -m "head" | |
257 created new head | |
2320
dbdce3b99988
fix parsing of tags. make parse errors useful. add new tag tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2283
diff
changeset
|
258 |
11744 | 259 $ hg tags |
260 .hgtags@75d9f02dfe28, line 2: cannot parse entry | |
261 .hgtags@75d9f02dfe28, line 4: node 'foo' is not well formed | |
262 .hgtags@c4be69a18c11, line 2: node 'x' is not well formed | |
263 tip 8:c4be69a18c11 | |
264 first 0:acb14030fe0a | |
265 $ hg tip | |
266 changeset: 8:c4be69a18c11 | |
267 tag: tip | |
268 parent: 3:ac5e980c4dc0 | |
269 user: test | |
270 date: Thu Jan 01 00:00:00 1970 +0000 | |
271 summary: head | |
272 | |
2320
dbdce3b99988
fix parsing of tags. make parse errors useful. add new tag tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2283
diff
changeset
|
273 |
11744 | 274 Test tag precedence rules: |
2320
dbdce3b99988
fix parsing of tags. make parse errors useful. add new tag tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2283
diff
changeset
|
275 |
11744 | 276 $ cd .. |
277 $ hg init t2 | |
278 $ cd t2 | |
279 $ echo foo > foo | |
280 $ hg add foo | |
281 $ hg ci -m 'add foo' # rev 0 | |
282 $ hg tag bar # rev 1 | |
283 $ echo >> foo | |
284 $ hg ci -m 'change foo 1' # rev 2 | |
285 $ hg up -C 1 | |
286 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
287 $ hg tag -r 1 -f bar # rev 3 | |
288 $ hg up -C 1 | |
289 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
290 $ echo >> foo | |
291 $ hg ci -m 'change foo 2' # rev 4 | |
292 created new head | |
293 $ hg tags | |
294 tip 4:0c192d7d5e6b | |
295 bar 1:78391a272241 | |
2320
dbdce3b99988
fix parsing of tags. make parse errors useful. add new tag tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2283
diff
changeset
|
296 |
11744 | 297 Repeat in case of cache effects: |
2320
dbdce3b99988
fix parsing of tags. make parse errors useful. add new tag tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2283
diff
changeset
|
298 |
11744 | 299 $ hg tags |
300 tip 4:0c192d7d5e6b | |
301 bar 1:78391a272241 | |
302 | |
303 Detailed dump of tag info: | |
1986
719cf07b076d
add checking for invalid entries in tag files
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1933
diff
changeset
|
304 |
11744 | 305 $ hg heads -q # expect 4, 3, 2 |
306 4:0c192d7d5e6b | |
307 3:6fa450212aeb | |
308 2:7a94127795a3 | |
309 $ dumptags 2 | |
310 rev 2: .hgtags: | |
311 bbd179dfa0a71671c253b3ae0aa1513b60d199fa bar | |
312 $ dumptags 3 | |
313 rev 3: .hgtags: | |
314 bbd179dfa0a71671c253b3ae0aa1513b60d199fa bar | |
315 bbd179dfa0a71671c253b3ae0aa1513b60d199fa bar | |
316 78391a272241d70354aa14c874552cad6b51bb42 bar | |
317 $ dumptags 4 | |
318 rev 4: .hgtags: | |
319 bbd179dfa0a71671c253b3ae0aa1513b60d199fa bar | |
9144
ad72e3b08bc0
test-tags: enhance the test to probe tag caching better (issue548).
Greg Ward <greg-hg@gerg.ca>
parents:
9143
diff
changeset
|
320 |
11744 | 321 Dump cache: |
322 | |
24762
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
323 $ cat .hg/cache/tags2-visible |
24760
410f3856196f
tags: change format of tags cache files
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24759
diff
changeset
|
324 4 0c192d7d5e6b78a714de54a2e9627952a877e25a |
19646
335a558f81dc
tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19108
diff
changeset
|
325 bbd179dfa0a71671c253b3ae0aa1513b60d199fa bar |
335a558f81dc
tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19108
diff
changeset
|
326 bbd179dfa0a71671c253b3ae0aa1513b60d199fa bar |
11744 | 327 78391a272241d70354aa14c874552cad6b51bb42 bar |
328 | |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
329 $ f --size --hexdump .hg/cache/hgtagsfnodes1 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
330 .hg/cache/hgtagsfnodes1: size=120 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
331 0000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
332 0010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
333 0020: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
334 0030: 7a 94 12 77 0c 04 f2 a8 af 31 de 17 fa b7 42 28 |z..w.....1....B(| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
335 0040: 78 ee 5a 2d ad bc 94 3d 6f a4 50 21 7d 3b 71 8c |x.Z-...=o.P!};q.| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
336 0050: 96 4e f3 7b 89 e5 50 eb da fd 57 89 e7 6c e1 b0 |.N.{..P...W..l..| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
337 0060: 0c 19 2d 7d 0c 04 f2 a8 af 31 de 17 fa b7 42 28 |..-}.....1....B(| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
338 0070: 78 ee 5a 2d ad bc 94 3d |x.Z-...=| |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
339 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
340 Corrupt the .hgtags fnodes cache |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
341 Extra junk data at the end should get overwritten on next cache update |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
342 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
343 $ echo extra >> .hg/cache/hgtagsfnodes1 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
344 $ echo dummy1 > foo |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
345 $ hg commit -m throwaway1 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
346 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
347 $ hg tags |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
348 tip 5:8dbfe60eff30 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
349 bar 1:78391a272241 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
350 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
351 $ hg blackbox -l 5 |
26185 | 352 1970/01/01 00:00:00 bob (*)> tags (glob) |
353 1970/01/01 00:00:00 bob (*)> writing 24 bytes to cache/hgtagsfnodes1 (glob) | |
354 1970/01/01 00:00:00 bob (*)> 2/3 cache hits/lookups in * seconds (glob) | |
355 1970/01/01 00:00:00 bob (*)> writing .hg/cache/tags2-visible with 1 tags (glob) | |
356 1970/01/01 00:00:00 bob (*)> tags exited 0 after * seconds (glob) | |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
357 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
358 #if unix-permissions no-root |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
359 Errors writing to .hgtags fnodes cache are silently ignored |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
360 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
361 $ echo dummy2 > foo |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
362 $ hg commit -m throwaway2 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
363 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
364 $ chmod a-w .hg/cache/hgtagsfnodes1 |
24762
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
365 $ rm -f .hg/cache/tags2-visible |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
366 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
367 $ hg tags |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
368 tip 6:b968051b5cf3 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
369 bar 1:78391a272241 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
370 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
371 $ hg blackbox -l 5 |
26185 | 372 1970/01/01 00:00:00 bob (*)> tags (glob) |
373 1970/01/01 00:00:00 bob (*)> couldn't write cache/hgtagsfnodes1: [Errno 13] Permission denied: '$TESTTMP/t2/.hg/cache/hgtagsfnodes1' (glob) | |
374 1970/01/01 00:00:00 bob (*)> 2/3 cache hits/lookups in * seconds (glob) | |
375 1970/01/01 00:00:00 bob (*)> writing .hg/cache/tags2-visible with 1 tags (glob) | |
376 1970/01/01 00:00:00 bob (*)> tags exited 0 after * seconds (glob) | |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
377 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
378 $ chmod a+w .hg/cache/hgtagsfnodes1 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
379 |
24762
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
380 $ rm -f .hg/cache/tags2-visible |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
381 $ hg tags |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
382 tip 6:b968051b5cf3 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
383 bar 1:78391a272241 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
384 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
385 $ hg blackbox -l 5 |
26185 | 386 1970/01/01 00:00:00 bob (*)> tags (glob) |
387 1970/01/01 00:00:00 bob (*)> writing 24 bytes to cache/hgtagsfnodes1 (glob) | |
388 1970/01/01 00:00:00 bob (*)> 2/3 cache hits/lookups in * seconds (glob) | |
389 1970/01/01 00:00:00 bob (*)> writing .hg/cache/tags2-visible with 1 tags (glob) | |
390 1970/01/01 00:00:00 bob (*)> tags exited 0 after * seconds (glob) | |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
391 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
392 $ f --size .hg/cache/hgtagsfnodes1 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
393 .hg/cache/hgtagsfnodes1: size=168 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
394 |
24801
f379428a0754
tests: fix test-tags on vfat
Matt Mackall <mpm@selenic.com>
parents:
24763
diff
changeset
|
395 $ hg -q --config extensions.strip= strip -r 6 --no-backup |
f379428a0754
tests: fix test-tags on vfat
Matt Mackall <mpm@selenic.com>
parents:
24763
diff
changeset
|
396 #endif |
f379428a0754
tests: fix test-tags on vfat
Matt Mackall <mpm@selenic.com>
parents:
24763
diff
changeset
|
397 |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
398 Stripping doesn't truncate the tags cache until new data is available |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
399 |
24801
f379428a0754
tests: fix test-tags on vfat
Matt Mackall <mpm@selenic.com>
parents:
24763
diff
changeset
|
400 $ rm -f .hg/cache/hgtagsfnodes1 .hg/cache/tags2-visible |
24802
2ee10789d66b
tests: fix up whitespace complaint
Matt Mackall <mpm@selenic.com>
parents:
24801
diff
changeset
|
401 $ hg tags |
24801
f379428a0754
tests: fix test-tags on vfat
Matt Mackall <mpm@selenic.com>
parents:
24763
diff
changeset
|
402 tip 5:8dbfe60eff30 |
f379428a0754
tests: fix test-tags on vfat
Matt Mackall <mpm@selenic.com>
parents:
24763
diff
changeset
|
403 bar 1:78391a272241 |
f379428a0754
tests: fix test-tags on vfat
Matt Mackall <mpm@selenic.com>
parents:
24763
diff
changeset
|
404 |
f379428a0754
tests: fix test-tags on vfat
Matt Mackall <mpm@selenic.com>
parents:
24763
diff
changeset
|
405 $ f --size .hg/cache/hgtagsfnodes1 |
f379428a0754
tests: fix test-tags on vfat
Matt Mackall <mpm@selenic.com>
parents:
24763
diff
changeset
|
406 .hg/cache/hgtagsfnodes1: size=144 |
f379428a0754
tests: fix test-tags on vfat
Matt Mackall <mpm@selenic.com>
parents:
24763
diff
changeset
|
407 |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
408 $ hg -q --config extensions.strip= strip -r 5 --no-backup |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
409 $ hg tags |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
410 tip 4:0c192d7d5e6b |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
411 bar 1:78391a272241 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
412 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
413 $ hg blackbox -l 4 |
26185 | 414 1970/01/01 00:00:00 bob (*)> writing 24 bytes to cache/hgtagsfnodes1 (glob) |
415 1970/01/01 00:00:00 bob (*)> 2/3 cache hits/lookups in * seconds (glob) | |
416 1970/01/01 00:00:00 bob (*)> writing .hg/cache/tags2-visible with 1 tags (glob) | |
417 1970/01/01 00:00:00 bob (*)> tags exited 0 after * seconds (glob) | |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
418 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
419 $ f --size .hg/cache/hgtagsfnodes1 |
24801
f379428a0754
tests: fix test-tags on vfat
Matt Mackall <mpm@selenic.com>
parents:
24763
diff
changeset
|
420 .hg/cache/hgtagsfnodes1: size=120 |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
421 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
422 $ echo dummy > foo |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
423 $ hg commit -m throwaway3 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
424 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
425 $ hg tags |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
426 tip 5:035f65efb448 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
427 bar 1:78391a272241 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
428 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
429 $ hg blackbox -l 5 |
26185 | 430 1970/01/01 00:00:00 bob (*)> tags (glob) |
431 1970/01/01 00:00:00 bob (*)> writing 24 bytes to cache/hgtagsfnodes1 (glob) | |
432 1970/01/01 00:00:00 bob (*)> 2/3 cache hits/lookups in * seconds (glob) | |
433 1970/01/01 00:00:00 bob (*)> writing .hg/cache/tags2-visible with 1 tags (glob) | |
434 1970/01/01 00:00:00 bob (*)> tags exited 0 after * seconds (glob) | |
24735
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
435 $ f --size .hg/cache/hgtagsfnodes1 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
436 .hg/cache/hgtagsfnodes1: size=144 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
437 |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
438 $ hg -q --config extensions.strip= strip -r 5 --no-backup |
07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24706
diff
changeset
|
439 |
11744 | 440 Test tag removal: |
9144
ad72e3b08bc0
test-tags: enhance the test to probe tag caching better (issue548).
Greg Ward <greg-hg@gerg.ca>
parents:
9143
diff
changeset
|
441 |
11744 | 442 $ hg tag --remove bar # rev 5 |
443 $ hg tip -vp | |
444 changeset: 5:5f6e8655b1c7 | |
445 tag: tip | |
446 user: test | |
447 date: Thu Jan 01 00:00:00 1970 +0000 | |
448 files: .hgtags | |
449 description: | |
450 Removed tag bar | |
451 | |
452 | |
453 diff -r 0c192d7d5e6b -r 5f6e8655b1c7 .hgtags | |
454 --- a/.hgtags Thu Jan 01 00:00:00 1970 +0000 | |
455 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000 | |
456 @@ -1,1 +1,3 @@ | |
457 bbd179dfa0a71671c253b3ae0aa1513b60d199fa bar | |
458 +78391a272241d70354aa14c874552cad6b51bb42 bar | |
459 +0000000000000000000000000000000000000000 bar | |
460 | |
461 $ hg tags | |
462 tip 5:5f6e8655b1c7 | |
463 $ hg tags # again, try to expose cache bugs | |
464 tip 5:5f6e8655b1c7 | |
4213 | 465 |
11744 | 466 Remove nonexistent tag: |
467 | |
468 $ hg tag --remove foobar | |
469 abort: tag 'foobar' does not exist | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11744
diff
changeset
|
470 [255] |
11744 | 471 $ hg tip |
472 changeset: 5:5f6e8655b1c7 | |
473 tag: tip | |
474 user: test | |
475 date: Thu Jan 01 00:00:00 1970 +0000 | |
476 summary: Removed tag bar | |
477 | |
4266
fe7f38dda34b
tags: fix abababa case, with test case
Matt Mackall <mpm@selenic.com>
parents:
4213
diff
changeset
|
478 |
11744 | 479 Undo a tag with rollback: |
4651
7176f278d6f9
Test attempt to remove nonexistent tag
Brendan Cully <brendan@kublai.com>
parents:
4482
diff
changeset
|
480 |
11744 | 481 $ hg rollback # destroy rev 5 (restore bar) |
13446
1e497df514e2
rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents:
13272
diff
changeset
|
482 repository tip rolled back to revision 4 (undo commit) |
1e497df514e2
rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents:
13272
diff
changeset
|
483 working directory now based on revision 4 |
11744 | 484 $ hg tags |
485 tip 4:0c192d7d5e6b | |
486 bar 1:78391a272241 | |
487 $ hg tags | |
488 tip 4:0c192d7d5e6b | |
489 bar 1:78391a272241 | |
490 | |
491 Test tag rank: | |
9144
ad72e3b08bc0
test-tags: enhance the test to probe tag caching better (issue548).
Greg Ward <greg-hg@gerg.ca>
parents:
9143
diff
changeset
|
492 |
11744 | 493 $ cd .. |
494 $ hg init t3 | |
495 $ cd t3 | |
496 $ echo foo > foo | |
497 $ hg add foo | |
498 $ hg ci -m 'add foo' # rev 0 | |
499 $ hg tag -f bar # rev 1 bar -> 0 | |
500 $ hg tag -f bar # rev 2 bar -> 1 | |
501 $ hg tag -fr 0 bar # rev 3 bar -> 0 | |
502 $ hg tag -fr 1 bar # rev 4 bar -> 1 | |
503 $ hg tag -fr 0 bar # rev 5 bar -> 0 | |
504 $ hg tags | |
505 tip 5:85f05169d91d | |
506 bar 0:bbd179dfa0a7 | |
507 $ hg co 3 | |
508 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
509 $ echo barbar > foo | |
510 $ hg ci -m 'change foo' # rev 6 | |
511 created new head | |
512 $ hg tags | |
513 tip 6:735c3ca72986 | |
514 bar 0:bbd179dfa0a7 | |
4267
8185a1ca8628
tags: require -f to replace an existing tag
Matt Mackall <mpm@selenic.com>
parents:
4266
diff
changeset
|
515 |
11744 | 516 Don't allow moving tag without -f: |
517 | |
518 $ hg tag -r 3 bar | |
519 abort: tag 'bar' already exists (use -f to force) | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11744
diff
changeset
|
520 [255] |
11744 | 521 $ hg tags |
522 tip 6:735c3ca72986 | |
523 bar 0:bbd179dfa0a7 | |
524 | |
525 Strip 1: expose an old head: | |
4482
99f411ba0380
use .extend instead of .append in readtags
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
526 |
11744 | 527 $ hg --config extensions.mq= strip 5 |
12640
6cc4b14fb76b
tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents:
12376
diff
changeset
|
528 saved backup bundle to $TESTTMP/t3/.hg/strip-backup/*-backup.hg (glob) |
11744 | 529 $ hg tags # partly stale cache |
530 tip 5:735c3ca72986 | |
531 bar 1:78391a272241 | |
532 $ hg tags # up-to-date cache | |
533 tip 5:735c3ca72986 | |
534 bar 1:78391a272241 | |
535 | |
536 Strip 2: destroy whole branch, no old head exposed | |
9144
ad72e3b08bc0
test-tags: enhance the test to probe tag caching better (issue548).
Greg Ward <greg-hg@gerg.ca>
parents:
9143
diff
changeset
|
537 |
11744 | 538 $ hg --config extensions.mq= strip 4 |
12640
6cc4b14fb76b
tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents:
12376
diff
changeset
|
539 saved backup bundle to $TESTTMP/t3/.hg/strip-backup/*-backup.hg (glob) |
11744 | 540 $ hg tags # partly stale |
541 tip 4:735c3ca72986 | |
542 bar 0:bbd179dfa0a7 | |
24762
1062663808ce
tags: write a separate tags cache file for unfiltered repos
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24760
diff
changeset
|
543 $ rm -f .hg/cache/tags2-visible |
11744 | 544 $ hg tags # cold cache |
545 tip 4:735c3ca72986 | |
546 bar 0:bbd179dfa0a7 | |
547 | |
548 Test tag rank with 3 heads: | |
5657
47915bf68c44
Properly check tag's existence as a local/global tag when removing it.
Osku Salerma <osku@iki.fi>
parents:
5524
diff
changeset
|
549 |
11744 | 550 $ cd .. |
551 $ hg init t4 | |
552 $ cd t4 | |
553 $ echo foo > foo | |
554 $ hg add | |
555 adding foo | |
556 $ hg ci -m 'add foo' # rev 0 | |
557 $ hg tag bar # rev 1 bar -> 0 | |
558 $ hg tag -f bar # rev 2 bar -> 1 | |
559 $ hg up -qC 0 | |
560 $ hg tag -fr 2 bar # rev 3 bar -> 2 | |
561 $ hg tags | |
562 tip 3:197c21bbbf2c | |
563 bar 2:6fa450212aeb | |
564 $ hg up -qC 0 | |
565 $ hg tag -m 'retag rev 0' -fr 0 bar # rev 4 bar -> 0, but bar stays at 2 | |
5657
47915bf68c44
Properly check tag's existence as a local/global tag when removing it.
Osku Salerma <osku@iki.fi>
parents:
5524
diff
changeset
|
566 |
11744 | 567 Bar should still point to rev 2: |
568 | |
569 $ hg tags | |
570 tip 4:3b4b14ed0202 | |
571 bar 2:6fa450212aeb | |
572 | |
573 Test that removing global/local tags does not get confused when trying | |
574 to remove a tag of type X which actually only exists as a type Y: | |
5657
47915bf68c44
Properly check tag's existence as a local/global tag when removing it.
Osku Salerma <osku@iki.fi>
parents:
5524
diff
changeset
|
575 |
11744 | 576 $ cd .. |
577 $ hg init t5 | |
578 $ cd t5 | |
579 $ echo foo > foo | |
580 $ hg add | |
581 adding foo | |
582 $ hg ci -m 'add foo' # rev 0 | |
5657
47915bf68c44
Properly check tag's existence as a local/global tag when removing it.
Osku Salerma <osku@iki.fi>
parents:
5524
diff
changeset
|
583 |
11744 | 584 $ hg tag -r 0 -l localtag |
585 $ hg tag --remove localtag | |
586 abort: tag 'localtag' is not a global tag | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11744
diff
changeset
|
587 [255] |
11744 | 588 $ |
589 $ hg tag -r 0 globaltag | |
590 $ hg tag --remove -l globaltag | |
591 abort: tag 'globaltag' is not a local tag | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
11744
diff
changeset
|
592 [255] |
11744 | 593 $ hg tags -v |
594 tip 1:a0b6fe111088 | |
595 localtag 0:bbd179dfa0a7 local | |
596 globaltag 0:bbd179dfa0a7 | |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16857
diff
changeset
|
597 |
19108
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
598 Test for issue3911 |
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
599 |
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
600 $ hg tag -r 0 -l localtag2 |
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
601 $ hg tag -l --remove localtag2 |
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
602 $ hg tags -v |
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
603 tip 1:a0b6fe111088 |
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
604 localtag 0:bbd179dfa0a7 local |
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
605 globaltag 0:bbd179dfa0a7 |
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
606 |
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
607 $ hg tag -r 1 -f localtag |
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
608 $ hg tags -v |
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
609 tip 2:5c70a037bb37 |
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
610 localtag 1:a0b6fe111088 |
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
611 globaltag 0:bbd179dfa0a7 |
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
612 |
19646
335a558f81dc
tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19108
diff
changeset
|
613 $ hg tags -v |
335a558f81dc
tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19108
diff
changeset
|
614 tip 2:5c70a037bb37 |
335a558f81dc
tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19108
diff
changeset
|
615 localtag 1:a0b6fe111088 |
335a558f81dc
tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19108
diff
changeset
|
616 globaltag 0:bbd179dfa0a7 |
335a558f81dc
tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19108
diff
changeset
|
617 |
19108
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
618 $ hg tag -r 1 localtag2 |
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
619 $ hg tags -v |
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
620 tip 3:bbfb8cd42be2 |
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
621 localtag2 1:a0b6fe111088 |
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
622 localtag 1:a0b6fe111088 |
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
623 globaltag 0:bbd179dfa0a7 |
cb95716da5fe
tags: update tag type only if tag node is updated (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
17345
diff
changeset
|
624 |
19646
335a558f81dc
tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19108
diff
changeset
|
625 $ hg tags -v |
335a558f81dc
tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19108
diff
changeset
|
626 tip 3:bbfb8cd42be2 |
335a558f81dc
tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19108
diff
changeset
|
627 localtag2 1:a0b6fe111088 |
335a558f81dc
tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19108
diff
changeset
|
628 localtag 1:a0b6fe111088 |
335a558f81dc
tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19108
diff
changeset
|
629 globaltag 0:bbd179dfa0a7 |
335a558f81dc
tags: write tag overwriting history also into tag cache file (issue3911)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
19108
diff
changeset
|
630 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16857
diff
changeset
|
631 $ cd .. |
25402
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
632 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
633 Create a repository with tags data to test .hgtags fnodes transfer |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
634 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
635 $ hg init tagsserver |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
636 $ cd tagsserver |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
637 $ cat > .hg/hgrc << EOF |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
638 > [experimental] |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
639 > bundle2-exp=True |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
640 > EOF |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
641 $ touch foo |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
642 $ hg -q commit -A -m initial |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
643 $ hg tag -m 'tag 0.1' 0.1 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
644 $ echo second > foo |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
645 $ hg commit -m second |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
646 $ hg tag -m 'tag 0.2' 0.2 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
647 $ hg tags |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
648 tip 3:40f0358cb314 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
649 0.2 2:f63cc8fe54e4 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
650 0.1 0:96ee1d7354c4 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
651 $ cd .. |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
652 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
653 Cloning should pull down hgtags fnodes mappings and write the cache file |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
654 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
655 $ hg --config experimental.bundle2-exp=True clone --pull tagsserver tagsclient |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
656 requesting all changes |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
657 adding changesets |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
658 adding manifests |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
659 adding file changes |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
660 added 4 changesets with 4 changes to 2 files |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
661 updating to branch default |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
662 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
663 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
664 Missing tags2* files means the cache wasn't written through the normal mechanism. |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
665 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
666 $ ls tagsclient/.hg/cache |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
667 branch2-served |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
668 hgtagsfnodes1 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
669 rbc-names-v1 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
670 rbc-revs-v1 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
671 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
672 Cache should contain the head only, even though other nodes have tags data |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
673 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
674 $ f --size --hexdump tagsclient/.hg/cache/hgtagsfnodes1 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
675 tagsclient/.hg/cache/hgtagsfnodes1: size=96 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
676 0000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
677 0010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
678 0020: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
679 0030: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
680 0040: ff ff ff ff ff ff ff ff 40 f0 35 8c 19 e0 a7 d3 |........@.5.....| |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
681 0050: 8a 5c 6a 82 4d cf fb a5 87 d0 2f a3 1e 4f 2f 8a |.\j.M...../..O/.| |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
682 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
683 Running hg tags should produce tags2* file and not change cache |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
684 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
685 $ hg -R tagsclient tags |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
686 tip 3:40f0358cb314 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
687 0.2 2:f63cc8fe54e4 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
688 0.1 0:96ee1d7354c4 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
689 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
690 $ ls tagsclient/.hg/cache |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
691 branch2-served |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
692 hgtagsfnodes1 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
693 rbc-names-v1 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
694 rbc-revs-v1 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
695 tags2-visible |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
696 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
697 $ f --size --hexdump tagsclient/.hg/cache/hgtagsfnodes1 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
698 tagsclient/.hg/cache/hgtagsfnodes1: size=96 |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
699 0000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
700 0010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
701 0020: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
702 0030: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
703 0040: ff ff ff ff ff ff ff ff 40 f0 35 8c 19 e0 a7 d3 |........@.5.....| |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
704 0050: 8a 5c 6a 82 4d cf fb a5 87 d0 2f a3 1e 4f 2f 8a |.\j.M...../..O/.| |
0c2ded041d10
exchange: support transferring .hgtags fnodes mapping
Gregory Szorc <gregory.szorc@gmail.com>
parents:
24806
diff
changeset
|
705 |