[cogito] paged output for cg-diff
From: Michal Rokos <hidden>
Date: 2016-06-15 22:41:57
Hello, I'm a bit curious what is going on in development so I'm using cg-diff often. Usually I pipe it to the less. So for me it would be very nice when cg-diff behaves as cg-log that pipes output to pager. So I changed cg-diff to do so. New function PAGER() determines whether output is terminal and uses PAGER in that case. Do you like it? Michal Signed-off-by: Michal Rokos <redacted> Index: cg-Xlib ===================================================================
--- ca5fef50fb68a3afbb35e1a48ac622f7a964f021/cg-Xlib (mode:100755)
+++ uncommitted/cg-Xlib (mode:100755)@@ -91,3 +91,12 @@ export BROKEN_MKTEMP=1 del=$($(which mktemp) -t 2>/dev/null) && { rm $del; export BROKEN_MKTEMP=; } + +PAGER () { + if [ -t 1 ]; then + ${PAGER:-less} ${PAGER_FLAGS:--R} + else + cat + fi +} +
Index: cg-diff ===================================================================
--- ca5fef50fb68a3afbb35e1a48ac622f7a964f021/cg-diff (mode:100755)
+++ uncommitted/cg-diff (mode:100755)@@ -71,7 +71,7 @@ # FIXME: Update ret based on what did we match. And take "$@" # to account after all. ret= - git-diff-cache -r -z $tree | xargs -0 ${COGITO_LIB}cg-Xdiffdo "$tree" uncommitted "$filter" + git-diff-cache -r -z $tree | xargs -0 ${COGITO_LIB}cg-Xdiffdo "$tree" uncommitted "$filter" | PAGER [ "$filter" ] && rm $filter
@@ -85,7 +85,7 @@ [ "$id1" = "$id2" ] && die "trying to diff $id1 against itself" -git-diff-tree -r -z $id1 $id2 | xargs -0 ${COGITO_LIB}cg-Xdiffdo $id1 $id2 "$filter" +git-diff-tree -r -z $id1 $id2 | xargs -0 ${COGITO_LIB}cg-Xdiffdo $id1 $id2 "$filter" | PAGER [ "$filter" ] && rm $filter exit 0
Index: cg-log ===================================================================
--- ca5fef50fb68a3afbb35e1a48ac622f7a964f021/cg-log (mode:100755)
+++ uncommitted/cg-log (mode:100755)@@ -181,4 +181,4 @@ done echo -done | ${PAGER:-less} ${PAGER_FLAGS:--R} +done | PAGER
--
Michal Rokos
NextSoft s.r.o.
Vyskočilova 1/1410
140 21 Praha 4
tel: +420 267 224 311
fax: +420 267 224 307
mobil: +420 736 646 591
e-mail: michal.rokos@nextsoft.cz