summaryrefslogtreecommitdiff
path: root/git-gui/lib/remote_add.tcl
diff options
context:
space:
mode:
authorLibravatar Shawn O. Pearce <spearce@spearce.org>2010-04-12 16:25:29 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2010-04-13 13:04:50 -0700
commit03e8b541b38d95d1cd7b287963c82617a0469f80 (patch)
tree715169882f024461276fd9facb849eac0c6a7860 /git-gui/lib/remote_add.tcl
parenttag.c: Parse tagger date (if present) (diff)
downloadtgif-03e8b541b38d95d1cd7b287963c82617a0469f80.tar.xz
describe: Break annotated tag ties by tagger date
If more than one annotated tag points at the same commit, use the tag whose tagger field has a more recent date stamp. This resolves non-deterministic cases where the maintainer has done: $ git tag -a -m "2.1-rc1" v2.1-rc1 deadbeef $ git tag -a -m "2.1" v2.1 deadbeef If the tag is an older-style annotated tag with no tagger date, we assume a date stamp at the UNIX epoch. This will cause us to prefer an annotated tag that has a valid date. We could also try to consider the tag object chain, favoring a tag that "includes" another one: $ git tag -a -m "2.1-rc0" v2.1-rc1 deadbeef $ git tag -a -m "2.1" v2.1 v2.1-rc1 However traversing the tag's object chain looking for inclusion is much more complicated. Its already very likely that even in these cases the v2.1 tag will have a more recent tagger date than v2.1-rc1, so with this change describe should still resolve this by selecting the more recent v2.1. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-gui/lib/remote_add.tcl')
0 files changed, 0 insertions, 0 deletions