From: Junio C Hamano <gitster@pobox.com>
To: git@vger.kernel.org
Subject: [PATCH v4 00/18] Extending the shelf-life of "git describe" output
Date: Mon, 2 Jul 2012 15:33:51 -0700 [thread overview]
Message-ID: <1341268449-27801-1-git-send-email-gitster@pobox.com> (raw)
This is take 4. The earlier rounds were $gmane/200165, 200387, and
200506.
Compared to the previous round, it has more patches in the clean-up
phase. Most notably, patch 03/18 gets rid of get_sha1_with_mode_1()
and replaces the only external caller of it with a call to a more
straightforward die_on_misspelt_object_name(). The test suite added
by patch 12/18 has more patterns that we can potentially improve on.
The disambiguation logic can now be asked to pick only committish,
which can be used in places like "git commit -C deadbeef". It also
knows that A and B in "git log A..B" can only be committishes.
Adding support for treeish, if anybody is tempted to do so, should
now be pretty straightforward.
Junio C Hamano (18):
sha1_name.c: indentation fix
sha1_name.c: hide get_sha1_with_context_1() ugliness
sha1_name.c: get rid of ugly get_sha1_with_mode_1()
sha1_name.c: get rid of get_sha1_with_mode()
sha1_name.c: clarify what "fake" is for in find_short_object_filename()
sha1_name.c: rename "now" to "current"
sha1_name.c: refactor find_short_packed_object()
sha1_name.c: correct misnamed "canonical" and "res"
sha1_name.c: restructure disambiguation of short names
sha1_name.c: allow get_short_sha1() to take other flags
sha1_name.c: teach get_short_sha1() a commit-only option
sha1_name.c: get_describe_name() by definition groks only commits
sha1_name.c: get_sha1_1() takes lookup flags
sha1_name.c: many short names can only be committish
sha1_name.c: teach lookup context to get_sha1_with_context()
sha1_name.c: introduce get_sha1_committish()
revision.c: allow handle_revision_arg() to take other flags
revision.c: the "log" family, except for "show", takes committish
builtin/cat-file.c | 2 +-
builtin/log.c | 3 +
builtin/pack-objects.c | 2 +-
cache.h | 18 +-
commit.c | 2 +-
revision.c | 38 ++--
revision.h | 5 +-
setup.c | 8 +-
sha1_name.c | 383 ++++++++++++++++++++++++------------
t/t1512-rev-parse-disambiguation.sh | 208 ++++++++++++++++++++
10 files changed, 509 insertions(+), 160 deletions(-)
create mode 100755 t/t1512-rev-parse-disambiguation.sh
--
1.7.11.1.212.g52fe12e
next reply other threads:[~2012-07-02 22:34 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-02 22:33 Junio C Hamano [this message]
2012-07-02 22:33 ` [PATCH v4 01/18] sha1_name.c: indentation fix Junio C Hamano
2012-07-02 22:33 ` [PATCH v4 02/18] sha1_name.c: hide get_sha1_with_context_1() ugliness Junio C Hamano
2012-07-02 22:33 ` [PATCH v4 03/18] sha1_name.c: get rid of ugly get_sha1_with_mode_1() Junio C Hamano
2012-07-03 8:01 ` Matthieu Moy
2012-07-03 17:19 ` Junio C Hamano
2012-07-04 7:12 ` Matthieu Moy
2012-07-02 22:33 ` [PATCH v4 04/18] sha1_name.c: get rid of get_sha1_with_mode() Junio C Hamano
2012-07-02 22:33 ` [PATCH v4 05/18] sha1_name.c: clarify what "fake" is for in find_short_object_filename() Junio C Hamano
2012-07-02 22:33 ` [PATCH v4 06/18] sha1_name.c: rename "now" to "current" Junio C Hamano
2012-07-02 22:33 ` [PATCH v4 07/18] sha1_name.c: refactor find_short_packed_object() Junio C Hamano
2012-07-02 22:33 ` [PATCH v4 08/18] sha1_name.c: correct misnamed "canonical" and "res" Junio C Hamano
2012-07-02 22:34 ` [PATCH v4 09/18] sha1_name.c: restructure disambiguation of short names Junio C Hamano
2012-07-02 22:34 ` [PATCH v4 10/18] sha1_name.c: allow get_short_sha1() to take other flags Junio C Hamano
2012-07-02 22:34 ` [PATCH v4 11/18] sha1_name.c: teach get_short_sha1() a commit-only option Junio C Hamano
2012-07-02 22:34 ` [PATCH v4 12/18] sha1_name.c: get_describe_name() by definition groks only commits Junio C Hamano
2012-07-02 22:34 ` [PATCH v4 13/18] sha1_name.c: get_sha1_1() takes lookup flags Junio C Hamano
2012-07-02 22:34 ` [PATCH v4 14/18] sha1_name.c: many short names can only be committish Junio C Hamano
2012-07-02 23:01 ` Junio C Hamano
2012-07-02 22:34 ` [PATCH v4 15/18] sha1_name.c: teach lookup context to get_sha1_with_context() Junio C Hamano
2012-07-02 22:34 ` [PATCH v4 16/18] sha1_name.c: introduce get_sha1_committish() Junio C Hamano
2012-07-02 22:34 ` [PATCH v4 17/18] revision.c: allow handle_revision_arg() to take other flags Junio C Hamano
2012-07-02 22:34 ` [PATCH v4 18/18] revision.c: the "log" family, except for "show", takes committish Junio C Hamano
2012-07-03 7:19 ` [PATCH v4 00/18] Extending the shelf-life of "git describe" output Jeff King
2012-07-03 17:19 ` Junio C Hamano
2012-07-03 18:20 ` Junio C Hamano
2012-07-03 18:38 ` Jeff King
2012-07-03 18:41 ` Junio C Hamano
2012-07-03 19:34 ` Jeff King
2012-07-03 20:21 ` Junio C Hamano
2012-07-03 20:24 ` Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1341268449-27801-1-git-send-email-gitster@pobox.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).