Previously, when I was invoking `tg patch` the following used to happen: 1. .topmsg content was sent directly to _terminal_ 2. for each file in the patch, its diff was generated with `git diff` and sent to *PAGER* 3. trailing 'tg: ...' was sent to terminal again So the problem is that while `tg patch >file` works as expected, plain `tg patch` does not -- in pager there is only a part of the whole patch (first file diff) and header and trailer are ommitted. I've finally decided to fix this inconvenience, and the way it works is like in git -- we just hook `setup_pager` function in commands which need to be paginated. Signed-off-by: Kirill Smelkov <kirr@xxxxxxxxxxxxxxxxxxx> --- tg-patch.sh | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/tg-patch.sh b/tg-patch.sh index a704375..dc699d2 100644 --- a/tg-patch.sh +++ b/tg-patch.sh @@ -24,6 +24,9 @@ done base_rev="$(git rev-parse --short --verify "refs/top-bases/$name" 2>/dev/null)" || die "not a TopGit-controlled branch" + +setup_pager + git cat-file blob "$name:.topmsg" echo [ -n "$(git grep '^[-]--' "$name" -- ".topmsg")" ] || echo '---' -- 1.6.1.48.ge9b8 -- 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