Re: [PATCH v2] git-rebase--interactive.sh: add config option for custom instruction format
From: Junio C Hamano <hidden>
Date: 2016-06-15 23:05:13
Michael Rappazzo [off-list ref] writes:
quoted hunk
A config option 'rebase.instructionFormat' can override the default 'oneline' format of the rebase instruction list. Since the list is parsed using the left, right or boundary mark plus the sha1, they are prepended to the instruction format. Signed-off-by: Michael Rappazzo <redacted> --- git-rebase--interactive.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index dc3133f..b92375e 100644 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh@@ -977,7 +977,9 @@ else revisions=$onto...$orig_head shortrevisions=$shorthead fi -git rev-list $merges_option --pretty=oneline --reverse --left-right --topo-order \ +format=$(git config --get rebase.instructionFormat) +# the 'rev-list .. | sed' requires %m to parse; the instruction requires %H to parse +git rev-list $merges_option --format="%m%H ${format-%s}" --reverse --left-right --topo-order \ $revisions ${restrict_revision+^$restrict_revision} | \ sed -n "s/^>//p" | while read -r sha1 rest
Looks OK, but
- Needs a patch to Documentation/config.txt and possibly also
Documentation/git-rebase.txt
- Needs tests somewhere in t34?? series.
Also I think "git rev-list" line has got way too long. As it is
already using backslash-continuation, do not hesitate to fold it
further, e.g.
git rev-list $merges_option --format="%m%H ${format-%s}" \
--reverse --left-right --topo-order \
$revisions ${restrict_revision+^$restrict_revision} | \
sed -n "s/^>//p" |
while ...
Thanks.