Johannes Altmanninger <aclopte@xxxxxxxxx> writes: > Yep, tformat is more correct semantically, but it's worth noting that there > is no behavior change here. These commands behave the same > > git show -s --pretty=tformat:"Learning" HEAD > git show -s --pretty=format:"Learning" HEAD Your observation is not quite right. The difference between tformat and format does matter in practice, unless your pager is hiding the difference. $ export GIT_PAGER=cat; # disable the pager $ git show -s --pretty=format:"%s" HEAD; echo Q The eighth batchQ $ exit This episode also exposes another bug in the rerere-train script, caused by the fact that it lets GIT_PAGER to interfere. --- >8 --- Subject: rerere-train: prevent GIT_PAGER from pausing 'git show -s' The script uses "git show -s --format" to display the title of the merge commit being studied, without explicitly disabling the pager, which is not a safe thing to do in a script. For example, when the pager is set to "less" with "-SF" options (-S tells the pager not to fold lines but allow horizontal scrolling to show the overly long lines, -F tells the pager not to wait if the output in its entirety is shown on a single page), and the title of the merge commit is longer than the width of the terminal, the pager will wait until the end-user tells it to quit after showing the single line. Explicitly disable the pager for this "git show" invocation to avoid this. Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- contrib/rerere-train.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git c/contrib/rerere-train.sh w/contrib/rerere-train.sh index 499b07e4a6..2b9df7b6f2 100755 --- c/contrib/rerere-train.sh +++ w/contrib/rerere-train.sh @@ -81,7 +81,7 @@ do fi if test -s "$GIT_DIR/MERGE_RR" then - git show -s --format="Learning from %h %s" "$commit" + git --no-pager show -s --format="Learning from %h %s" "$commit" git rerere git checkout -q $commit -- . git rerere