From: Kirill Smelkov Date: Tue, 06 Jan 2009 15:16:39 GMT Subject: [PATCH (topgit) 2/2] tg-patch: fix pagination Message-ID: <7c756270cdd997037616e1601121347b73b2bc77.1231254832.git.kirr@landau.phys.spbu.ru> In-Reply-To: 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 --- 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