author | Thomas Rast <trast@student.ethz.ch> | |
Mon, 19 Oct 2009 15:48:10 +0000 (17:48 +0200) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Tue, 20 Oct 2009 05:28:26 +0000 (22:28 -0700) | ||
commit | 8f8f5476cd6542387d435c242752404cf144005f | |
tree | 735245fb1ac506a639e35298edd8e2648343415d | tree | snapshot |
parent | 72b103fec7af967d295410c2fd3899bc6e8386e2 | commit | diff |
Introduce new pretty formats %g[sdD] for reflog information
Add three new --pretty=format escapes:
%gD long reflog descriptor (e.g. refs/stash@{0})
%gd short reflog descriptor (e.g. stash@{0})
%gs reflog message
This is achieved by passing down the reflog info, if any, inside the
pretty_print_context struct.
We use the newly refactored get_reflog_selector(), and give it some
extra functionality to extract a shortened ref. The shortening is
cached inside the commit_reflogs struct; the only allocation of it
happens in read_complete_reflog(), where it is initialised to 0. Also
add another helper get_reflog_message() for the message extraction.
Note that the --format="%h %gD: %gs" tests may not work in real
repositories, as the --pretty formatter doesn't know to leave away the
": " on the last commit in an incomplete (because git-gc removed the
old part) reflog. This equivalence is nevertheless the main goal of
this patch.
Thanks to Jeff King for reviews, the %gd testcase and documentation.
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Add three new --pretty=format escapes:
%gD long reflog descriptor (e.g. refs/stash@{0})
%gd short reflog descriptor (e.g. stash@{0})
%gs reflog message
This is achieved by passing down the reflog info, if any, inside the
pretty_print_context struct.
We use the newly refactored get_reflog_selector(), and give it some
extra functionality to extract a shortened ref. The shortening is
cached inside the commit_reflogs struct; the only allocation of it
happens in read_complete_reflog(), where it is initialised to 0. Also
add another helper get_reflog_message() for the message extraction.
Note that the --format="%h %gD: %gs" tests may not work in real
repositories, as the --pretty formatter doesn't know to leave away the
": " on the last commit in an incomplete (because git-gc removed the
old part) reflog. This equivalence is nevertheless the main goal of
this patch.
Thanks to Jeff King for reviews, the %gd testcase and documentation.
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/pretty-formats.txt | diff | blob | history | |
commit.h | diff | blob | history | |
log-tree.c | diff | blob | history | |
pretty.c | diff | blob | history | |
reflog-walk.c | diff | blob | history | |
reflog-walk.h | diff | blob | history | |
t/t6006-rev-list-format.sh | diff | blob | history |