Show More
@@ -1167,12 +1167,18 def tag(repo, subset, x): | |||||
1167 | args = getargs(x, 0, 1, _("tag takes one or no arguments")) |
|
1167 | args = getargs(x, 0, 1, _("tag takes one or no arguments")) | |
1168 | cl = repo.changelog |
|
1168 | cl = repo.changelog | |
1169 | if args: |
|
1169 | if args: | |
1170 | tn = getstring(args[0], |
|
1170 | pattern = getstring(args[0], | |
1171 | # i18n: "tag" is a keyword |
|
1171 | # i18n: "tag" is a keyword | |
1172 | _('the argument to tag must be a string')) |
|
1172 | _('the argument to tag must be a string')) | |
1173 | if not repo.tags().get(tn, None): |
|
1173 | kind, pattern, matcher = _stringmatcher(pattern) | |
1174 | raise util.Abort(_("tag '%s' does not exist") % tn) |
|
1174 | if kind == 'literal': | |
1175 | s = set([cl.rev(n) for t, n in repo.tagslist() if t == tn]) |
|
1175 | if not repo.tags().get(pattern, None): | |
|
1176 | raise util.Abort(_("tag '%s' does not exist") % pattern) | |||
|
1177 | s = set([cl.rev(n) for t, n in repo.tagslist() if t == pattern]) | |||
|
1178 | else: | |||
|
1179 | s = set([cl.rev(n) for t, n in repo.tagslist() if matcher(t)]) | |||
|
1180 | if not s: | |||
|
1181 | raise util.Abort(_("no tags exist that match '%s'") % pattern) | |||
1176 | else: |
|
1182 | else: | |
1177 | s = set([cl.rev(n) for t, n in repo.tagslist() if t != 'tip']) |
|
1183 | s = set([cl.rev(n) for t, n in repo.tagslist() if t != 'tip']) | |
1178 | return [r for r in subset if r in s] |
|
1184 | return [r for r in subset if r in s] |
@@ -369,6 +369,22 quoting needed | |||||
369 | 6 |
|
369 | 6 | |
370 | $ log 'tag(tip)' |
|
370 | $ log 'tag(tip)' | |
371 | 9 |
|
371 | 9 | |
|
372 | ||||
|
373 | we can use patterns when searching for tags | |||
|
374 | ||||
|
375 | $ log 'tag("1..*")' | |||
|
376 | abort: tag '1..*' does not exist | |||
|
377 | [255] | |||
|
378 | $ log 'tag("re:1..*")' | |||
|
379 | 6 | |||
|
380 | $ log 'tag("re:[0-9].[0-9]")' | |||
|
381 | 6 | |||
|
382 | $ log 'tag("literal:1.0")' | |||
|
383 | 6 | |||
|
384 | $ log 'tag("re:0..*")' | |||
|
385 | abort: no tags exist that match '0..*' | |||
|
386 | [255] | |||
|
387 | ||||
372 | $ log 'tag(unknown)' |
|
388 | $ log 'tag(unknown)' | |
373 | abort: tag 'unknown' does not exist |
|
389 | abort: tag 'unknown' does not exist | |
374 | [255] |
|
390 | [255] |
General Comments 0
You need to be logged in to leave comments.
Login now