jgit.sh: Implement pager support
If the command is either `diff` or `log`, there is often a lot of lines of output. Run these commands through $GIT_PAGER, $PAGER, or `less` in order to make it easier to browse the output on a terminal. Change-Id: I18b87ea4acf404b94788f2ac2101812bd13e6a0f Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
parent
8d1ac7a769
commit
0a39fb2ab6
|
@ -41,6 +41,20 @@
|
||||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
cmd=
|
||||||
|
for a in "$@"
|
||||||
|
do
|
||||||
|
case "$a" in
|
||||||
|
-*) continue ;;
|
||||||
|
*) cmd=$a; break; ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
use_pager=
|
||||||
|
case "$cmd" in
|
||||||
|
diff) use_pager=1 ;;
|
||||||
|
log) use_pager=1 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
this_script=`which "$0" 2>/dev/null`
|
this_script=`which "$0" 2>/dev/null`
|
||||||
[ $? -gt 0 -a -f "$0" ] && this_script="$0"
|
[ $? -gt 0 -a -f "$0" ] && this_script="$0"
|
||||||
|
@ -58,7 +72,7 @@ CYGWIN*)
|
||||||
cp=`cygpath --windows --mixed --path "$cp"`
|
cp=`cygpath --windows --mixed --path "$cp"`
|
||||||
;;
|
;;
|
||||||
Darwin)
|
Darwin)
|
||||||
if test -e /System/Library/Frameworks/JavaVM.framework
|
if [ -e /System/Library/Frameworks/JavaVM.framework ]
|
||||||
then
|
then
|
||||||
java_args='
|
java_args='
|
||||||
-Dcom.apple.mrj.application.apple.menu.about.name=JGit
|
-Dcom.apple.mrj.application.apple.menu.about.name=JGit
|
||||||
|
@ -74,10 +88,25 @@ CLASSPATH="$cp"
|
||||||
export CLASSPATH
|
export CLASSPATH
|
||||||
|
|
||||||
java=java
|
java=java
|
||||||
if test -n "$JAVA_HOME"
|
if [ -n "$JAVA_HOME" ]
|
||||||
then
|
then
|
||||||
java="$JAVA_HOME/bin/java"
|
java="$JAVA_HOME/bin/java"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -n "$use_pager" ]
|
||||||
|
then
|
||||||
|
use_pager=${GIT_PAGER:-${PAGER:-less}}
|
||||||
|
[ cat = "$use_pager" ] && use_pager=
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$use_pager" ]
|
||||||
|
then
|
||||||
|
LESS=${LESS:-FSRX}
|
||||||
|
export LESS
|
||||||
|
|
||||||
|
"$java" $java_args org.eclipse.jgit.pgm.Main "$@" | $use_pager
|
||||||
|
exit
|
||||||
|
else
|
||||||
exec "$java" $java_args org.eclipse.jgit.pgm.Main "$@"
|
exec "$java" $java_args org.eclipse.jgit.pgm.Main "$@"
|
||||||
exit 1
|
exit 1
|
||||||
|
fi
|
||||||
|
|
Loading…
Reference in New Issue