Mercurial > hg
changeset 24113:b08af8f0ac01
localrepo: don't reintroduce pruned tag entries when tagging
If a commit and a followup tag commit are pruned, there are no references to it
in any non obsolete version of .hgtags. Without this change however, the next
time a tag is added to another branch, the obsolete references are appended in
.hgtags before the new entries for the current tag command.
The annotation to unfilter localrepo._tag() has been around since b3af182a1944.
The log message for it mentions computing the tag cache though, so I'm not sure
if this was misplaced? It looks like branchmap was aware of filtering then, and
now tracks a cache per view.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Wed, 01 Oct 2014 20:26:33 -0400 |
parents | 5d5ec4fb7ada |
children | fafd9a1284cf |
files | mercurial/localrepo.py tests/test-obsolete.t |
diffstat | 2 files changed, 42 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/localrepo.py Thu Feb 05 13:10:07 2015 -0800 +++ b/mercurial/localrepo.py Wed Oct 01 20:26:33 2014 -0400 @@ -504,7 +504,6 @@ """ return hook.hook(self.ui, self, name, throw, **args) - @unfilteredmethod def _tag(self, names, node, message, local, user, date, extra={}, editor=False): if isinstance(names, str):
--- a/tests/test-obsolete.t Thu Feb 05 13:10:07 2015 -0800 +++ b/tests/test-obsolete.t Wed Oct 01 20:26:33 2014 -0400 @@ -753,3 +753,45 @@ $ hg tags visible 0:193e9254ce7e tip 0:193e9254ce7e + + $ hg init a + $ cd a + $ touch foo + $ hg add foo + $ hg ci -mfoo + $ touch bar + $ hg add bar + $ hg ci -mbar + $ hg up 0 + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ touch quux + $ hg add quux + $ hg ci -m quux + created new head + $ hg up 1 + 1 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ hg tag 1.0 + + $ hg up 2 + 1 files updated, 0 files merged, 2 files removed, 0 files unresolved + $ hg log -G + o 3:bc47fc7e1c1d (draft) [tip ] Added tag 1.0 for changeset 50c889141114 + | + | @ 2:3d7f255a0081 (draft) [ ] quux + | | + o | 1:50c889141114 (draft) [1.0 ] bar + |/ + o 0:1f7b0de80e11 (draft) [ ] foo + + $ hg debugobsolete `getid bar` + $ hg debugobsolete `getid 1.0` + $ hg tag 1.0 + $ hg log -G + @ 4:f9f2ab71ffd5 (draft) [tip ] Added tag 1.0 for changeset 3d7f255a0081 + | + o 2:3d7f255a0081 (draft) [1.0 ] quux + | + o 0:1f7b0de80e11 (draft) [ ] foo + + $ cat .hgtags + 3d7f255a008103380aeb2a7d581fe257f40969e7 1.0