[RFC PATCH 0/4] interpret-trailers: introduce "move" action
- From
Paolo Bonzini <pbonzini@redhat.com>
- Date
- Oct 5, 2017, 13:22 UTC
- Message-ID
- <20171005132243.27058-1-pbonzini@redhat.com>
The purpose of this action is for scripts to be able to keep the user's Signed-off-by at the end. For example say I have a script that adds a Reviewed-by tag:
#! /bin/sh
them=$(git log -i -1 --pretty='format:%an <%ae>' --author="$*")
trailer="Reviewed-by: $them"
git log -1 --pretty=format:%B | \
git interpret-trailers --where end --if-exists doNothing --trailer "$trailer" | \
git commit --amend -F-Now, this script will leave my Signed-off-by line in a non-canonical place, like
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Junio C Hamano <gitster@pobox.com>
This new option enables the following improvement:
#! /bin/sh
me=$(git var GIT_COMMITTER_IDENT | sed 's,>.*,>,')
them=$(git log -i -1 --pretty='format:%an <%ae>' --author="$*")
trailer="Reviewed-by: $them"
sob="Signed-off-by: $me"
git log -1 --pretty=format:%B | \
git interpret-trailers --where end --if-exists doNothing --trailer "$trailer" \
--where end --if-exists move --if-missing doNothing --trailer "$sob" | \
git commit --amend -F-which lets me keep the SoB line at the end, as it should be. Posting as RFC because it's possible that I'm missing a simpler way to achieve this...
Paolo Bonzini (4): trailer: push free_arg_item up trailer: simplify check_if_different trailer: create a new function to handle adding trailers trailer: add "move" configuration for trailer.ifExists
Documentation/git-interpret-trailers.txt | 13 ++- t/t7513-interpret-trailers.sh | 37 +++++++ trailer.c | 169 ++++++++++++++++++------------- trailer.h | 1 + 4 files changed, 149 insertions(+), 71 deletions(-)
-- 2.14.2