[PATCH v5 00/25] Extending the shelf-life of "git describe" output

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is take 5.  The earlier rounds were $gmane/200165, 200387,
200506 and 200869.

Except that the typo advise function is now called
"maybe_die_on_misspelt_object_name()", per discussion with Matthieu,
the early part of the series up to "restructure disambiguation"
(Patch #9) is the same as before.

I thought the thinking behind the fix to a minor regression pointed
out by Peff deserves to be kept as a separate commit, so it appears
as such as Patch #10.

Patches #20-#24 are new.  The test script added in Patch #13 includes
the tests for these new features, all start as "expect-failure", and
these flip them to "expect-success" as they implement them.

The last one #25 adds a new option to rev-parse to let you enumerate
objects that would match if you give too short an abbreviation.  It
would independently help the issue in "blame" output that did not
attempt to make the commit object names unique, reported in
$gmane/200839.


Junio C Hamano (25):
  sha1_name.c: indentation fix
  sha1_name.c: hide get_sha1_with_context_1() ugliness
  sha1_name.c: get rid of 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
  get_sha1(): fix error status regression
  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
  sha1_name.c: add support for disambiguating other types
  apply: --build-fake-ancestor expects blobs
  commit-tree: the command wants a tree and commits
  reset: the command takes committish
  rev-parse: A and B in "rev-parse A..B" refer to committish
  rev-parse --disambiguate=<prefix>

 Documentation/git-rev-parse.txt     |   6 +
 builtin/apply.c                     |   2 +-
 builtin/cat-file.c                  |   2 +-
 builtin/commit-tree.c               |   8 +-
 builtin/log.c                       |   3 +
 builtin/pack-objects.c              |   2 +-
 builtin/reset.c                     |  10 +-
 builtin/rev-parse.c                 |  14 +-
 cache.h                             |  28 +-
 commit.c                            |   2 +-
 revision.c                          |  38 +--
 revision.h                          |   5 +-
 setup.c                             |   8 +-
 sha1_name.c                         | 494 ++++++++++++++++++++++++++----------
 t/t1512-rev-parse-disambiguation.sh | 263 +++++++++++++++++++
 15 files changed, 713 insertions(+), 172 deletions(-)
 create mode 100755 t/t1512-rev-parse-disambiguation.sh

-- 
1.7.11.1.229.g706c98f

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]