path: root/lib
diff options
authorShawn O. Pearce <>2007-07-05 04:07:11 (GMT)
committerShawn O. Pearce <>2007-07-09 01:12:53 (GMT)
commit560eddc00c02e82077998200e8d8a45c31af924c (patch)
tree8caaab36b4234a09b57344f9190b8104eb1cc4a9 /lib
parent7618e6b1c1676dfdc2cc4c8af9e259c3e885825f (diff)
git-gui: Sort tags descending by tagger date
When trying to create a branch from a tag most people are looking for a recent tag, not one that is ancient history. Rather than sorting tags by their string we now sort them by taggerdate, as this places the recent tags at the top of the list and the very old ones at the end. Tag date works nicely as an approximation of the actual history order of commits. Signed-off-by: Shawn O. Pearce <>
Diffstat (limited to 'lib')
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/branch.tcl b/lib/branch.tcl
index de638d0..a6e6921 100644
--- a/lib/branch.tcl
+++ b/lib/branch.tcl
@@ -21,14 +21,13 @@ proc load_all_heads {} {
proc load_all_tags {} {
set all_tags [list]
- set fd [open "| git for-each-ref --format=%(refname) refs/tags" r]
+ set fd [open "| git for-each-ref --sort=-taggerdate --format=%(refname) refs/tags" r]
while {[gets $fd line] > 0} {
if {![regsub ^refs/tags/ $line {} name]} continue
lappend all_tags $name
close $fd
- return [lsort $all_tags]
+ return $all_tags
proc populate_branch_menu {} {