blob: 9ff59d6122dfb070967e91c12c935f6fda4303f1 [file] [log] [blame]
Git Development Community1a6964c2009-09-29 16:47:03 -07001#!/bin/sh
2# Copyright (C) 2008-2009, Google Inc.
3# Copyright (C) 2008, Shawn O. Pearce <spearce@spearce.org>
4# and other copyright owners as documented in the project's IP log.
5#
6# This program and the accompanying materials are made available
7# under the terms of the Eclipse Distribution License v1.0 which
8# accompanies this distribution, is reproduced below, and is
9# available at http://www.eclipse.org/org/documents/edl-v10.php
10#
11# All rights reserved.
12#
13# Redistribution and use in source and binary forms, with or
14# without modification, are permitted provided that the following
15# conditions are met:
16#
17# - Redistributions of source code must retain the above copyright
18# notice, this list of conditions and the following disclaimer.
19#
20# - Redistributions in binary form must reproduce the above
21# copyright notice, this list of conditions and the following
22# disclaimer in the documentation and/or other materials provided
23# with the distribution.
24#
25# - Neither the name of the Eclipse Foundation, Inc. nor the
26# names of its contributors may be used to endorse or promote
27# products derived from this software without specific prior
28# written permission.
29#
30# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
31# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
32# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
33# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
34# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
35# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
36# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
37# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
38# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
39# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
40# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
41# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
42# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
43
Shawn O. Pearce0a39fb22011-05-29 13:05:03 -070044cmd=
45for a in "$@"
46do
47 case "$a" in
48 -*) continue ;;
49 *) cmd=$a; break; ;;
50 esac
51done
52
53use_pager=
54case "$cmd" in
55diff) use_pager=1 ;;
56log) use_pager=1 ;;
57esac
Git Development Community1a6964c2009-09-29 16:47:03 -070058
Shawn O. Pearcedad52ba2009-10-31 18:07:26 -070059this_script=`which "$0" 2>/dev/null`
60[ $? -gt 0 -a -f "$0" ] && this_script="$0"
61cp=$this_script
Git Development Community1a6964c2009-09-29 16:47:03 -070062
63if [ -n "$JGIT_CLASSPATH" ]
64then
65 cp="$cp:$JGIT_CLASSPATH"
66fi
67
68# Cleanup paths for Cygwin.
69#
70case "`uname`" in
71CYGWIN*)
72 cp=`cygpath --windows --mixed --path "$cp"`
73 ;;
74Darwin)
Shawn O. Pearce0a39fb22011-05-29 13:05:03 -070075 if [ -e /System/Library/Frameworks/JavaVM.framework ]
Git Development Community1a6964c2009-09-29 16:47:03 -070076 then
77 java_args='
78 -Dcom.apple.mrj.application.apple.menu.about.name=JGit
79 -Dcom.apple.mrj.application.growbox.intrudes=false
80 -Dapple.laf.useScreenMenuBar=true
81 -Xdock:name=JGit
82 '
83 fi
84 ;;
85esac
86
87CLASSPATH="$cp"
88export CLASSPATH
89
90java=java
Shawn O. Pearce0a39fb22011-05-29 13:05:03 -070091if [ -n "$JAVA_HOME" ]
Git Development Community1a6964c2009-09-29 16:47:03 -070092then
93 java="$JAVA_HOME/bin/java"
94fi
95
Shawn O. Pearce0a39fb22011-05-29 13:05:03 -070096if [ -n "$use_pager" ]
97then
98 use_pager=${GIT_PAGER:-${PAGER:-less}}
99 [ cat = "$use_pager" ] && use_pager=
100fi
101
102if [ -n "$use_pager" ]
103then
104 LESS=${LESS:-FSRX}
105 export LESS
106
107 "$java" $java_args org.eclipse.jgit.pgm.Main "$@" | $use_pager
108 exit
109else
110 exec "$java" $java_args org.eclipse.jgit.pgm.Main "$@"
111 exit 1
112fi