{"thread":{"id":"12283","subject":"[PATCH 0/6] git-name-rev -d and git-describe improvements","startedAt":"2008-02-24T08:07:14Z","lastAt":"2008-02-24T08:07:14Z","messageCount":1,"participants":["Shawn O. Pearce"],"isPatch":true,"patchVersion":1,"patchTotal":6},"messages":[{"id":"69763","messageId":"20080224080714.GH8410@spearce.org","threadId":"12283","inReplyTo":null,"subject":"[PATCH 0/6] git-name-rev -d and git-describe improvements","fromName":"Shawn O. Pearce","fromEmail":"spearce@spearce.org","sentAt":"2008-02-24T08:07:14Z","receivedAt":"2008-02-24T08:07:14Z","isPatch":true,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"This series of 6 patches improves performance for both describe and\n`show-ref -d` on repositories with a lot of tags, and finally ends\nwith the display of the current tag for detached HEAD in the bash\nprompt rather than the abbreviated SHA-1.\n\nThe `show-ref -d` improvements should help both gitk and gitweb\nperformance as it reduces the total number of lstats necessary\n(we were doing an extra unnecessary lstat on each packed ref).\n\nThe `describe --exact-match` flag is useful in scripts, as shown\nby the final patch in the series.\n\n  1) Protect peel_ref fallback case from NULL parse_object result\n  2) Optimize peel_ref for the current ref of a for_each_ref callback\n  3) Teach git-describe to use peeled ref information when scanning tags\n  4) Avoid accessing non-tag refs in git-describe unless --all is requested\n  5) Teach git-describe --exact-match to avoid expensive tag searches\n  6) Use git-describe --exact-match in bash prompt on detached HEAD\n\n Documentation/git-describe.txt         |    5 ++++\n builtin-describe.c                     |   35 ++++++++++++++++++++++++-------\n contrib/completion/git-completion.bash |    5 +++-\n refs.c                                 |   27 +++++++++++++++++++-----\n 4 files changed, 57 insertions(+), 15 deletions(-)\n\n-- \nShawn.\n"}]}