summaryrefslogtreecommitdiffstats
path: root/git-gui
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--git-gui/.gitattributes3
-rw-r--r--git-gui/.gitignore8
-rwxr-xr-xgit-gui/GIT-VERSION-GEN80
-rw-r--r--git-gui/Makefile343
-rwxr-xr-xgit-gui/git-gui--askpass (renamed from git-gui--askpass)0
-rwxr-xr-xgit-gui/git-gui.sh (renamed from git-gui.sh)0
-rw-r--r--git-gui/lib/about.tcl (renamed from lib/about.tcl)0
-rw-r--r--git-gui/lib/blame.tcl (renamed from lib/blame.tcl)0
-rw-r--r--git-gui/lib/branch.tcl (renamed from lib/branch.tcl)0
-rw-r--r--git-gui/lib/branch_checkout.tcl (renamed from lib/branch_checkout.tcl)0
-rw-r--r--git-gui/lib/branch_create.tcl (renamed from lib/branch_create.tcl)0
-rw-r--r--git-gui/lib/branch_delete.tcl (renamed from lib/branch_delete.tcl)0
-rw-r--r--git-gui/lib/branch_rename.tcl (renamed from lib/branch_rename.tcl)0
-rw-r--r--git-gui/lib/browser.tcl (renamed from lib/browser.tcl)0
-rw-r--r--git-gui/lib/checkout_op.tcl (renamed from lib/checkout_op.tcl)0
-rw-r--r--git-gui/lib/choose_font.tcl (renamed from lib/choose_font.tcl)0
-rw-r--r--git-gui/lib/choose_repository.tcl (renamed from lib/choose_repository.tcl)0
-rw-r--r--git-gui/lib/choose_rev.tcl (renamed from lib/choose_rev.tcl)0
-rw-r--r--git-gui/lib/class.tcl (renamed from lib/class.tcl)0
-rw-r--r--git-gui/lib/commit.tcl (renamed from lib/commit.tcl)0
-rw-r--r--git-gui/lib/console.tcl (renamed from lib/console.tcl)0
-rw-r--r--git-gui/lib/database.tcl (renamed from lib/database.tcl)0
-rw-r--r--git-gui/lib/date.tcl (renamed from lib/date.tcl)0
-rw-r--r--git-gui/lib/diff.tcl (renamed from lib/diff.tcl)0
-rw-r--r--git-gui/lib/encoding.tcl (renamed from lib/encoding.tcl)0
-rw-r--r--git-gui/lib/error.tcl (renamed from lib/error.tcl)0
-rw-r--r--git-gui/lib/git-gui.ico (renamed from lib/git-gui.ico)bin3638 -> 3638 bytes
-rw-r--r--git-gui/lib/index.tcl (renamed from lib/index.tcl)0
-rw-r--r--git-gui/lib/logo.tcl (renamed from lib/logo.tcl)0
-rw-r--r--git-gui/lib/merge.tcl (renamed from lib/merge.tcl)0
-rw-r--r--git-gui/lib/mergetool.tcl (renamed from lib/mergetool.tcl)0
-rw-r--r--git-gui/lib/option.tcl (renamed from lib/option.tcl)0
-rw-r--r--git-gui/lib/remote.tcl (renamed from lib/remote.tcl)0
-rw-r--r--git-gui/lib/remote_add.tcl (renamed from lib/remote_add.tcl)0
-rw-r--r--git-gui/lib/remote_branch_delete.tcl (renamed from lib/remote_branch_delete.tcl)0
-rw-r--r--git-gui/lib/search.tcl (renamed from lib/search.tcl)0
-rw-r--r--git-gui/lib/shortcut.tcl (renamed from lib/shortcut.tcl)0
-rw-r--r--git-gui/lib/spellcheck.tcl (renamed from lib/spellcheck.tcl)0
-rw-r--r--git-gui/lib/sshkey.tcl (renamed from lib/sshkey.tcl)0
-rw-r--r--git-gui/lib/status_bar.tcl (renamed from lib/status_bar.tcl)0
-rw-r--r--git-gui/lib/themed.tcl (renamed from lib/themed.tcl)0
-rw-r--r--git-gui/lib/tools.tcl (renamed from lib/tools.tcl)0
-rw-r--r--git-gui/lib/tools_dlg.tcl (renamed from lib/tools_dlg.tcl)0
-rw-r--r--git-gui/lib/transport.tcl (renamed from lib/transport.tcl)0
-rw-r--r--git-gui/lib/win32.tcl (renamed from lib/win32.tcl)0
-rw-r--r--git-gui/lib/win32_shortcut.js (renamed from lib/win32_shortcut.js)0
-rw-r--r--git-gui/macosx/AppMain.tcl (renamed from macosx/AppMain.tcl)0
-rw-r--r--git-gui/macosx/Info.plist (renamed from macosx/Info.plist)0
-rw-r--r--git-gui/macosx/git-gui.icns (renamed from macosx/git-gui.icns)bin28866 -> 28866 bytes
-rw-r--r--git-gui/po/.gitignore (renamed from po/.gitignore)0
-rw-r--r--git-gui/po/README (renamed from po/README)0
-rw-r--r--git-gui/po/de.po (renamed from po/de.po)0
-rw-r--r--git-gui/po/el.po (renamed from po/el.po)0
-rw-r--r--git-gui/po/fr.po (renamed from po/fr.po)0
-rw-r--r--git-gui/po/git-gui.pot (renamed from po/git-gui.pot)0
-rw-r--r--git-gui/po/glossary/Makefile (renamed from po/glossary/Makefile)0
-rw-r--r--git-gui/po/glossary/de.po (renamed from po/glossary/de.po)0
-rw-r--r--git-gui/po/glossary/el.po (renamed from po/glossary/el.po)0
-rw-r--r--git-gui/po/glossary/fr.po (renamed from po/glossary/fr.po)0
-rw-r--r--git-gui/po/glossary/git-gui-glossary.pot (renamed from po/glossary/git-gui-glossary.pot)0
-rw-r--r--git-gui/po/glossary/git-gui-glossary.txt (renamed from po/glossary/git-gui-glossary.txt)0
-rw-r--r--git-gui/po/glossary/it.po (renamed from po/glossary/it.po)0
-rwxr-xr-xgit-gui/po/glossary/txt-to-pot.sh (renamed from po/glossary/txt-to-pot.sh)0
-rw-r--r--git-gui/po/glossary/zh_cn.po (renamed from po/glossary/zh_cn.po)0
-rw-r--r--git-gui/po/hu.po (renamed from po/hu.po)0
-rw-r--r--git-gui/po/it.po (renamed from po/it.po)0
-rw-r--r--git-gui/po/ja.po (renamed from po/ja.po)0
-rw-r--r--git-gui/po/nb.po (renamed from po/nb.po)0
-rw-r--r--git-gui/po/po2msg.sh (renamed from po/po2msg.sh)0
-rw-r--r--git-gui/po/ru.po (renamed from po/ru.po)0
-rw-r--r--git-gui/po/sv.po (renamed from po/sv.po)0
-rw-r--r--git-gui/po/zh_cn.po (renamed from po/zh_cn.po)0
-rw-r--r--git-gui/windows/git-gui.sh (renamed from windows/git-gui.sh)0
73 files changed, 434 insertions, 0 deletions
diff --git a/git-gui/.gitattributes b/git-gui/.gitattributes
new file mode 100644
index 0000000000..f96112d47f
--- /dev/null
+++ b/git-gui/.gitattributes
@@ -0,0 +1,3 @@
+* encoding=US-ASCII
+git-gui.sh encoding=UTF-8
+/po/*.po encoding=UTF-8
diff --git a/git-gui/.gitignore b/git-gui/.gitignore
new file mode 100644
index 0000000000..6483b21cbf
--- /dev/null
+++ b/git-gui/.gitignore
@@ -0,0 +1,8 @@
+.DS_Store
+config.mak
+Git Gui.app*
+git-gui.tcl
+GIT-VERSION-FILE
+GIT-GUI-VARS
+git-gui
+lib/tclIndex
diff --git a/git-gui/GIT-VERSION-GEN b/git-gui/GIT-VERSION-GEN
new file mode 100755
index 0000000000..b3f937eace
--- /dev/null
+++ b/git-gui/GIT-VERSION-GEN
@@ -0,0 +1,80 @@
+#!/bin/sh
+
+GVF=GIT-VERSION-FILE
+DEF_VER=0.12.GITGUI
+
+LF='
+'
+
+tree_search ()
+{
+ head=$1
+ tree=$2
+ for p in $(git rev-list --parents --max-count=1 $head 2>/dev/null)
+ do
+ test $tree = $(git rev-parse $p^{tree} 2>/dev/null) &&
+ vn=$(git describe --abbrev=4 $p 2>/dev/null) &&
+ case "$vn" in
+ gitgui-[0-9]*) echo $vn; break;;
+ esac
+ done
+}
+
+# Always use the tarball version file if found, just
+# in case we are somehow contained in a larger git
+# repository that doesn't actually track our state.
+# (At least one package manager is doing this.)
+#
+# We may be a subproject, so try looking for the merge
+# commit that supplied this directory content if we are
+# not at the toplevel. We probably will always be the
+# second parent in the commit, but we shouldn't rely on
+# that fact.
+#
+# If we are at the toplevel or the merge assumption fails
+# try looking for a gitgui-* tag.
+
+if test -f version &&
+ VN=$(cat version)
+then
+ : happy
+elif prefix="$(git rev-parse --show-prefix 2>/dev/null)"
+ test -n "$prefix" &&
+ head=$(git rev-list --max-count=1 HEAD -- . 2>/dev/null) &&
+ tree=$(git rev-parse --verify "HEAD:$prefix" 2>/dev/null) &&
+ VN=$(tree_search $head $tree)
+ case "$VN" in
+ gitgui-[0-9]*) : happy ;;
+ *) (exit 1) ;;
+ esac
+then
+ VN=$(echo "$VN" | sed -e 's/^gitgui-//;s/-/./g');
+elif VN=$(git describe --abbrev=4 HEAD 2>/dev/null) &&
+ case "$VN" in
+ gitgui-[0-9]*) : happy ;;
+ *) (exit 1) ;;
+ esac
+then
+ VN=$(echo "$VN" | sed -e 's/^gitgui-//;s/-/./g');
+else
+ VN="$DEF_VER"
+fi
+
+dirty=$(sh -c 'git diff-index --name-only HEAD' 2>/dev/null) || dirty=
+case "$dirty" in
+'')
+ ;;
+*)
+ VN="$VN-dirty" ;;
+esac
+
+if test -r $GVF
+then
+ VC=$(sed -e 's/^GITGUI_VERSION = //' <$GVF)
+else
+ VC=unset
+fi
+test "$VN" = "$VC" || {
+ echo >&2 "GITGUI_VERSION = $VN"
+ echo "GITGUI_VERSION = $VN" >$GVF
+}
diff --git a/git-gui/Makefile b/git-gui/Makefile
new file mode 100644
index 0000000000..197b55edf3
--- /dev/null
+++ b/git-gui/Makefile
@@ -0,0 +1,343 @@
+all::
+
+# Define V=1 to have a more verbose compile.
+#
+# Define NO_MSGFMT if you do not have msgfmt from the GNU gettext
+# package and want to use our rough pure Tcl po->msg translator.
+# TCL_PATH must be vaild for this to work.
+#
+
+GIT-VERSION-FILE: FORCE
+ @$(SHELL_PATH) ./GIT-VERSION-GEN
+-include GIT-VERSION-FILE
+
+uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
+uname_O := $(shell sh -c 'uname -o 2>/dev/null || echo not')
+uname_R := $(shell sh -c 'uname -r 2>/dev/null || echo not')
+
+SCRIPT_SH = git-gui.sh
+GITGUI_MAIN := git-gui
+GITGUI_BUILT_INS = git-citool
+ALL_LIBFILES = $(wildcard lib/*.tcl)
+PRELOAD_FILES = lib/class.tcl
+NONTCL_LIBFILES = \
+ lib/git-gui.ico \
+ $(wildcard lib/win32_*.js) \
+#end NONTCL_LIBFILES
+
+ifndef SHELL_PATH
+ SHELL_PATH = /bin/sh
+endif
+
+ifndef gitexecdir
+ gitexecdir := $(shell git --exec-path)
+endif
+
+ifndef sharedir
+ifeq (git-core,$(notdir $(gitexecdir)))
+ sharedir := $(dir $(patsubst %/,%,$(dir $(gitexecdir))))share
+else
+ sharedir := $(dir $(gitexecdir))share
+endif
+endif
+
+ifndef INSTALL
+ INSTALL = install
+endif
+
+RM_RF ?= rm -rf
+RMDIR ?= rmdir
+
+INSTALL_D0 = $(INSTALL) -d -m 755 # space is required here
+INSTALL_D1 =
+INSTALL_R0 = $(INSTALL) -m 644 # space is required here
+INSTALL_R1 =
+INSTALL_X0 = $(INSTALL) -m 755 # space is required here
+INSTALL_X1 =
+INSTALL_A0 = find # space is required here
+INSTALL_A1 = | cpio -pud
+INSTALL_L0 = rm -f # space is required here
+INSTALL_L1 = && ln # space is required here
+INSTALL_L2 =
+INSTALL_L3 =
+
+REMOVE_D0 = $(RMDIR) # space is required here
+REMOVE_D1 = || true
+REMOVE_F0 = $(RM_RF) # space is required here
+REMOVE_F1 =
+CLEAN_DST = true
+
+ifndef V
+ QUIET = @
+ QUIET_GEN = $(QUIET)echo ' ' GEN '$@' &&
+ QUIET_INDEX = $(QUIET)echo ' ' INDEX $(dir $@) &&
+ QUIET_MSGFMT0 = $(QUIET)printf ' MSGFMT %12s ' $@ && v=`
+ QUIET_MSGFMT1 = 2>&1` && echo "$$v" | sed -e 's/fuzzy translations/fuzzy/' | sed -e 's/ messages*//g'
+ QUIET_2DEVNULL = 2>/dev/null
+
+ INSTALL_D0 = dir=
+ INSTALL_D1 = && echo ' ' DEST $$dir && $(INSTALL) -d -m 755 "$$dir"
+ INSTALL_R0 = src=
+ INSTALL_R1 = && echo ' ' INSTALL 644 `basename $$src` && $(INSTALL) -m 644 $$src
+ INSTALL_X0 = src=
+ INSTALL_X1 = && echo ' ' INSTALL 755 `basename $$src` && $(INSTALL) -m 755 $$src
+ INSTALL_A0 = src=
+ INSTALL_A1 = && echo ' ' INSTALL ' ' `basename "$$src"` && find "$$src" | cpio -pud
+
+ INSTALL_L0 = dst=
+ INSTALL_L1 = && src=
+ INSTALL_L2 = && dst=
+ INSTALL_L3 = && echo ' ' 'LINK ' `basename "$$dst"` '->' `basename "$$src"` && rm -f "$$dst" && ln "$$src" "$$dst"
+
+ CLEAN_DST = echo ' ' UNINSTALL
+ REMOVE_D0 = dir=
+ REMOVE_D1 = && echo ' ' REMOVE $$dir && test -d "$$dir" && $(RMDIR) "$$dir" || true
+ REMOVE_F0 = dst=
+ REMOVE_F1 = && echo ' ' REMOVE `basename "$$dst"` && $(RM_RF) "$$dst"
+endif
+
+TCLTK_PATH ?= wish
+ifeq (./,$(dir $(TCLTK_PATH)))
+ TCL_PATH ?= $(subst wish,tclsh,$(TCLTK_PATH))
+else
+ TCL_PATH ?= $(dir $(TCLTK_PATH))$(notdir $(subst wish,tclsh,$(TCLTK_PATH)))
+endif
+
+ifeq ($(uname_S),Darwin)
+ TKFRAMEWORK = /Library/Frameworks/Tk.framework/Resources/Wish.app
+ ifeq ($(shell echo "$(uname_R)" | awk -F. '{if ($$1 >= 9) print "y"}')_$(shell test -d $(TKFRAMEWORK) || echo n),y_n)
+ TKFRAMEWORK = /System/Library/Frameworks/Tk.framework/Resources/Wish.app
+ ifeq ($(shell test -d $(TKFRAMEWORK) || echo n),n)
+ TKFRAMEWORK = /System/Library/Frameworks/Tk.framework/Resources/Wish\ Shell.app
+ endif
+ endif
+ TKEXECUTABLE = $(shell basename "$(TKFRAMEWORK)" .app)
+endif
+
+ifeq ($(findstring $(MAKEFLAGS),s),s)
+QUIET_GEN =
+endif
+
+-include config.mak
+
+DESTDIR_SQ = $(subst ','\'',$(DESTDIR))
+gitexecdir_SQ = $(subst ','\'',$(gitexecdir))
+SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
+TCL_PATH_SQ = $(subst ','\'',$(TCL_PATH))
+TCLTK_PATH_SQ = $(subst ','\'',$(TCLTK_PATH))
+TCLTK_PATH_SED = $(subst ','\'',$(subst \,\\,$(TCLTK_PATH)))
+
+gg_libdir ?= $(sharedir)/git-gui/lib
+libdir_SQ = $(subst ','\'',$(gg_libdir))
+libdir_SED = $(subst ','\'',$(subst \,\\,$(gg_libdir_sed_in)))
+exedir = $(dir $(gitexecdir))share/git-gui/lib
+
+GITGUI_SCRIPT := $$0
+GITGUI_RELATIVE :=
+GITGUI_MACOSXAPP :=
+
+ifeq ($(uname_O),Cygwin)
+ GITGUI_SCRIPT := `cygpath --windows --absolute "$(GITGUI_SCRIPT)"`
+
+ # Is this a Cygwin Tcl/Tk binary? If so it knows how to do
+ # POSIX path translation just like cygpath does and we must
+ # keep libdir in POSIX format so Cygwin packages of git-gui
+ # work no matter where the user installs them.
+ #
+ ifeq ($(shell echo 'puts [file normalize /]' | '$(TCL_PATH_SQ)'),$(shell cygpath --mixed --absolute /))
+ gg_libdir_sed_in := $(gg_libdir)
+ else
+ gg_libdir_sed_in := $(shell cygpath --windows --absolute "$(gg_libdir)")
+ endif
+else
+ ifeq ($(exedir),$(gg_libdir))
+ GITGUI_RELATIVE := 1
+ endif
+ gg_libdir_sed_in := $(gg_libdir)
+endif
+ifeq ($(uname_S),Darwin)
+ ifeq ($(shell test -d $(TKFRAMEWORK) && echo y),y)
+ GITGUI_MACOSXAPP := YesPlease
+ endif
+endif
+ifneq (,$(findstring MINGW,$(uname_S)))
+ NO_MSGFMT=1
+ GITGUI_WINDOWS_WRAPPER := YesPlease
+ GITGUI_RELATIVE := 1
+endif
+
+ifdef GITGUI_MACOSXAPP
+GITGUI_MAIN := git-gui.tcl
+
+git-gui: GIT-VERSION-FILE GIT-GUI-VARS
+ $(QUIET_GEN)rm -f $@ $@+ && \
+ echo '#!$(SHELL_PATH_SQ)' >$@+ && \
+ echo 'if test "z$$*" = zversion ||' >>$@+ && \
+ echo ' test "z$$*" = z--version' >>$@+ && \
+ echo then >>$@+ && \
+ echo ' 'echo \'git-gui version '$(GITGUI_VERSION)'\' >>$@+ && \
+ echo else >>$@+ && \
+ echo ' 'exec \''$(libdir_SQ)/Git Gui.app/Contents/MacOS/$(subst \,,$(TKEXECUTABLE))'\' \
+ '"$$0" "$$@"' >>$@+ && \
+ echo fi >>$@+ && \
+ chmod +x $@+ && \
+ mv $@+ $@
+
+Git\ Gui.app: GIT-VERSION-FILE GIT-GUI-VARS \
+ macosx/Info.plist \
+ macosx/git-gui.icns \
+ macosx/AppMain.tcl \
+ $(TKFRAMEWORK)/Contents/MacOS/$(TKEXECUTABLE)
+ $(QUIET_GEN)rm -rf '$@' '$@'+ && \
+ mkdir -p '$@'+/Contents/MacOS && \
+ mkdir -p '$@'+/Contents/Resources/Scripts && \
+ cp '$(subst ','\'',$(subst \,,$(TKFRAMEWORK)/Contents/MacOS/$(TKEXECUTABLE)))' \
+ '$@'+/Contents/MacOS && \
+ cp macosx/git-gui.icns '$@'+/Contents/Resources && \
+ sed -e 's/@@GITGUI_VERSION@@/$(GITGUI_VERSION)/g' \
+ -e 's/@@GITGUI_TKEXECUTABLE@@/$(TKEXECUTABLE)/g' \
+ macosx/Info.plist \
+ >'$@'+/Contents/Info.plist && \
+ sed -e 's|@@gitexecdir@@|$(gitexecdir_SQ)|' \
+ -e 's|@@GITGUI_LIBDIR@@|$(libdir_SED)|' \
+ macosx/AppMain.tcl \
+ >'$@'+/Contents/Resources/Scripts/AppMain.tcl && \
+ mv '$@'+ '$@'
+endif
+
+ifdef GITGUI_WINDOWS_WRAPPER
+GITGUI_MAIN := git-gui.tcl
+
+git-gui: windows/git-gui.sh
+ cp $< $@
+endif
+
+$(GITGUI_MAIN): git-gui.sh GIT-VERSION-FILE GIT-GUI-VARS
+ $(QUIET_GEN)rm -f $@ $@+ && \
+ sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
+ -e '1,30s|^ argv0=$$0| argv0=$(GITGUI_SCRIPT)|' \
+ -e '1,30s|^ exec wish | exec '\''$(TCLTK_PATH_SED)'\'' |' \
+ -e 's/@@GITGUI_VERSION@@/$(GITGUI_VERSION)/g' \
+ -e 's|@@GITGUI_RELATIVE@@|$(GITGUI_RELATIVE)|' \
+ -e '$(GITGUI_RELATIVE)s|@@GITGUI_LIBDIR@@|$(libdir_SED)|' \
+ git-gui.sh >$@+ && \
+ chmod +x $@+ && \
+ mv $@+ $@
+
+XGETTEXT ?= xgettext
+ifdef NO_MSGFMT
+ MSGFMT ?= $(TCL_PATH) po/po2msg.sh
+else
+ MSGFMT ?= msgfmt
+ ifneq ($(shell $(MSGFMT) --tcl -l C -d . /dev/null 2>/dev/null; echo $$?),0)
+ MSGFMT := $(TCL_PATH) po/po2msg.sh
+ endif
+endif
+
+msgsdir = $(gg_libdir)/msgs
+msgsdir_SQ = $(subst ','\'',$(msgsdir))
+PO_TEMPLATE = po/git-gui.pot
+ALL_POFILES = $(wildcard po/*.po)
+ALL_MSGFILES = $(subst .po,.msg,$(ALL_POFILES))
+
+$(PO_TEMPLATE): $(SCRIPT_SH) $(ALL_LIBFILES)
+ $(XGETTEXT) -kmc -LTcl -o $@ $(SCRIPT_SH) $(ALL_LIBFILES)
+update-po:: $(PO_TEMPLATE)
+ $(foreach p, $(ALL_POFILES), echo Updating $p ; msgmerge -U $p $(PO_TEMPLATE) ; )
+$(ALL_MSGFILES): %.msg : %.po
+ $(QUIET_MSGFMT0)$(MSGFMT) --statistics --tcl -l $(basename $(notdir $<)) -d $(dir $@) $< $(QUIET_MSGFMT1)
+
+lib/tclIndex: $(ALL_LIBFILES) GIT-GUI-VARS
+ $(QUIET_INDEX)if echo \
+ $(foreach p,$(PRELOAD_FILES),source $p\;) \
+ auto_mkindex lib '*.tcl' \
+ | $(TCL_PATH) $(QUIET_2DEVNULL); then : ok; \
+ else \
+ echo 1>&2 " * $(TCL_PATH) failed; using unoptimized loading"; \
+ rm -f $@ ; \
+ echo '# Autogenerated by git-gui Makefile' >$@ && \
+ echo >>$@ && \
+ $(foreach p,$(PRELOAD_FILES) $(ALL_LIBFILES),echo '$(subst lib/,,$p)' >>$@ &&) \
+ echo >>$@ ; \
+ fi
+
+TRACK_VARS = \
+ $(subst ','\'',SHELL_PATH='$(SHELL_PATH_SQ)') \
+ $(subst ','\'',TCL_PATH='$(TCL_PATH_SQ)') \
+ $(subst ','\'',TCLTK_PATH='$(TCLTK_PATH_SQ)') \
+ $(subst ','\'',gitexecdir='$(gitexecdir_SQ)') \
+ $(subst ','\'',gg_libdir='$(libdir_SQ)') \
+ GITGUI_MACOSXAPP=$(GITGUI_MACOSXAPP) \
+#end TRACK_VARS
+
+GIT-GUI-VARS: FORCE
+ @VARS='$(TRACK_VARS)'; \
+ if test x"$$VARS" != x"`cat $@ 2>/dev/null`" ; then \
+ echo 1>&2 " * new locations or Tcl/Tk interpreter"; \
+ echo 1>$@ "$$VARS"; \
+ fi
+
+ifdef GITGUI_MACOSXAPP
+all:: git-gui Git\ Gui.app
+endif
+ifdef GITGUI_WINDOWS_WRAPPER
+all:: git-gui
+endif
+all:: $(GITGUI_MAIN) lib/tclIndex $(ALL_MSGFILES)
+
+install: all
+ $(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(gitexecdir_SQ)' $(INSTALL_D1)
+ $(QUIET)$(INSTALL_X0)git-gui $(INSTALL_X1) '$(DESTDIR_SQ)$(gitexecdir_SQ)'
+ $(QUIET)$(INSTALL_X0)git-gui--askpass $(INSTALL_X1) '$(DESTDIR_SQ)$(gitexecdir_SQ)'
+ $(QUIET)$(foreach p,$(GITGUI_BUILT_INS), $(INSTALL_L0)'$(DESTDIR_SQ)$(gitexecdir_SQ)/$p' $(INSTALL_L1)'$(DESTDIR_SQ)$(gitexecdir_SQ)/git-gui' $(INSTALL_L2)'$(DESTDIR_SQ)$(gitexecdir_SQ)/$p' $(INSTALL_L3) &&) true
+ifdef GITGUI_WINDOWS_WRAPPER
+ $(QUIET)$(INSTALL_R0)git-gui.tcl $(INSTALL_R1) '$(DESTDIR_SQ)$(gitexecdir_SQ)'
+endif
+ $(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(libdir_SQ)' $(INSTALL_D1)
+ $(QUIET)$(INSTALL_R0)lib/tclIndex $(INSTALL_R1) '$(DESTDIR_SQ)$(libdir_SQ)'
+ifdef GITGUI_MACOSXAPP
+ $(QUIET)$(INSTALL_A0)'Git Gui.app' $(INSTALL_A1) '$(DESTDIR_SQ)$(libdir_SQ)'
+ $(QUIET)$(INSTALL_X0)git-gui.tcl $(INSTALL_X1) '$(DESTDIR_SQ)$(libdir_SQ)'
+endif
+ $(QUIET)$(foreach p,$(ALL_LIBFILES) $(NONTCL_LIBFILES), $(INSTALL_R0)$p $(INSTALL_R1) '$(DESTDIR_SQ)$(libdir_SQ)' &&) true
+ $(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(msgsdir_SQ)' $(INSTALL_D1)
+ $(QUIET)$(foreach p,$(ALL_MSGFILES), $(INSTALL_R0)$p $(INSTALL_R1) '$(DESTDIR_SQ)$(msgsdir_SQ)' &&) true
+
+uninstall:
+ $(QUIET)$(CLEAN_DST) '$(DESTDIR_SQ)$(gitexecdir_SQ)'
+ $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(gitexecdir_SQ)'/git-gui $(REMOVE_F1)
+ $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(gitexecdir_SQ)'/git-gui--askpass $(REMOVE_F1)
+ $(QUIET)$(foreach p,$(GITGUI_BUILT_INS), $(REMOVE_F0)'$(DESTDIR_SQ)$(gitexecdir_SQ)'/$p $(REMOVE_F1) &&) true
+ifdef GITGUI_WINDOWS_WRAPPER
+ $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(gitexecdir_SQ)'/git-gui.tcl $(REMOVE_F1)
+endif
+ $(QUIET)$(CLEAN_DST) '$(DESTDIR_SQ)$(libdir_SQ)'
+ $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(libdir_SQ)'/tclIndex $(REMOVE_F1)
+ifdef GITGUI_MACOSXAPP
+ $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(libdir_SQ)/Git Gui.app' $(REMOVE_F1)
+ $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(libdir_SQ)'/git-gui.tcl $(REMOVE_F1)
+endif
+ $(QUIET)$(foreach p,$(ALL_LIBFILES) $(NONTCL_LIBFILES), $(REMOVE_F0)'$(DESTDIR_SQ)$(libdir_SQ)'/$(notdir $p) $(REMOVE_F1) &&) true
+ $(QUIET)$(CLEAN_DST) '$(DESTDIR_SQ)$(msgsdir_SQ)'
+ $(QUIET)$(foreach p,$(ALL_MSGFILES), $(REMOVE_F0)'$(DESTDIR_SQ)$(msgsdir_SQ)'/$(notdir $p) $(REMOVE_F1) &&) true
+ $(QUIET)$(REMOVE_D0)'$(DESTDIR_SQ)$(gitexecdir_SQ)' $(REMOVE_D1)
+ $(QUIET)$(REMOVE_D0)'$(DESTDIR_SQ)$(msgsdir_SQ)' $(REMOVE_D1)
+ $(QUIET)$(REMOVE_D0)'$(DESTDIR_SQ)$(libdir_SQ)' $(REMOVE_D1)
+ $(QUIET)$(REMOVE_D0)`dirname '$(DESTDIR_SQ)$(libdir_SQ)'` $(REMOVE_D1)
+
+dist-version:
+ @mkdir -p $(TARDIR)
+ @echo $(GITGUI_VERSION) > $(TARDIR)/version
+
+clean::
+ $(RM_RF) $(GITGUI_MAIN) lib/tclIndex po/*.msg
+ $(RM_RF) GIT-VERSION-FILE GIT-GUI-VARS
+ifdef GITGUI_MACOSXAPP
+ $(RM_RF) 'Git Gui.app'* git-gui
+endif
+ifdef GITGUI_WINDOWS_WRAPPER
+ $(RM_RF) git-gui
+endif
+
+.PHONY: all install uninstall dist-version clean
+.PHONY: FORCE
diff --git a/git-gui--askpass b/git-gui/git-gui--askpass
index 12e117ecb1..12e117ecb1 100755
--- a/git-gui--askpass
+++ b/git-gui/git-gui--askpass
diff --git a/git-gui.sh b/git-gui/git-gui.sh
index 7d5451198c..7d5451198c 100755
--- a/git-gui.sh
+++ b/git-gui/git-gui.sh
diff --git a/lib/about.tcl b/git-gui/lib/about.tcl
index cfa50fca87..cfa50fca87 100644
--- a/lib/about.tcl
+++ b/git-gui/lib/about.tcl
diff --git a/lib/blame.tcl b/git-gui/lib/blame.tcl
index 786b50b8c2..786b50b8c2 100644
--- a/lib/blame.tcl
+++ b/git-gui/lib/blame.tcl
diff --git a/lib/branch.tcl b/git-gui/lib/branch.tcl
index 777eeb79c1..777eeb79c1 100644
--- a/lib/branch.tcl
+++ b/git-gui/lib/branch.tcl
diff --git a/lib/branch_checkout.tcl b/git-gui/lib/branch_checkout.tcl
index 2e459a8297..2e459a8297 100644
--- a/lib/branch_checkout.tcl
+++ b/git-gui/lib/branch_checkout.tcl
diff --git a/lib/branch_create.tcl b/git-gui/lib/branch_create.tcl
index 4bb907705c..4bb907705c 100644
--- a/lib/branch_create.tcl
+++ b/git-gui/lib/branch_create.tcl
diff --git a/lib/branch_delete.tcl b/git-gui/lib/branch_delete.tcl
index 867938ec6a..867938ec6a 100644
--- a/lib/branch_delete.tcl
+++ b/git-gui/lib/branch_delete.tcl
diff --git a/lib/branch_rename.tcl b/git-gui/lib/branch_rename.tcl
index 63988773ba..63988773ba 100644
--- a/lib/branch_rename.tcl
+++ b/git-gui/lib/branch_rename.tcl
diff --git a/lib/browser.tcl b/git-gui/lib/browser.tcl
index c2415729e0..c2415729e0 100644
--- a/lib/browser.tcl
+++ b/git-gui/lib/browser.tcl
diff --git a/lib/checkout_op.tcl b/git-gui/lib/checkout_op.tcl
index 9e7412c446..9e7412c446 100644
--- a/lib/checkout_op.tcl
+++ b/git-gui/lib/checkout_op.tcl
diff --git a/lib/choose_font.tcl b/git-gui/lib/choose_font.tcl
index ebe50bd7d0..ebe50bd7d0 100644
--- a/lib/choose_font.tcl
+++ b/git-gui/lib/choose_font.tcl
diff --git a/lib/choose_repository.tcl b/git-gui/lib/choose_repository.tcl
index 64f06748b6..64f06748b6 100644
--- a/lib/choose_repository.tcl
+++ b/git-gui/lib/choose_repository.tcl
diff --git a/lib/choose_rev.tcl b/git-gui/lib/choose_rev.tcl
index c12d5e1698..c12d5e1698 100644
--- a/lib/choose_rev.tcl
+++ b/git-gui/lib/choose_rev.tcl
diff --git a/lib/class.tcl b/git-gui/lib/class.tcl
index c27b71476a..c27b71476a 100644
--- a/lib/class.tcl
+++ b/git-gui/lib/class.tcl
diff --git a/lib/commit.tcl b/git-gui/lib/commit.tcl
index 7f459cd564..7f459cd564 100644
--- a/lib/commit.tcl
+++ b/git-gui/lib/commit.tcl
diff --git a/lib/console.tcl b/git-gui/lib/console.tcl
index 1f3248ffd1..1f3248ffd1 100644
--- a/lib/console.tcl
+++ b/git-gui/lib/console.tcl
diff --git a/lib/database.tcl b/git-gui/lib/database.tcl
index 1f187ed286..1f187ed286 100644
--- a/lib/database.tcl
+++ b/git-gui/lib/database.tcl
diff --git a/lib/date.tcl b/git-gui/lib/date.tcl
index abe82992b6..abe82992b6 100644
--- a/lib/date.tcl
+++ b/git-gui/lib/date.tcl
diff --git a/lib/diff.tcl b/git-gui/lib/diff.tcl
index ec8c11eeb7..ec8c11eeb7 100644
--- a/lib/diff.tcl
+++ b/git-gui/lib/diff.tcl
diff --git a/lib/encoding.tcl b/git-gui/lib/encoding.tcl
index 32668fc9c6..32668fc9c6 100644
--- a/lib/encoding.tcl
+++ b/git-gui/lib/encoding.tcl
diff --git a/lib/error.tcl b/git-gui/lib/error.tcl
index c0fa69af56..c0fa69af56 100644
--- a/lib/error.tcl
+++ b/git-gui/lib/error.tcl
diff --git a/lib/git-gui.ico b/git-gui/lib/git-gui.ico
index 334cfa5a1a..334cfa5a1a 100644
--- a/lib/git-gui.ico
+++ b/git-gui/lib/git-gui.ico
Binary files differ
diff --git a/lib/index.tcl b/git-gui/lib/index.tcl
index e9db0c4989..e9db0c4989 100644
--- a/lib/index.tcl
+++ b/git-gui/lib/index.tcl
diff --git a/lib/logo.tcl b/git-gui/lib/logo.tcl
index 5ff76692f5..5ff76692f5 100644
--- a/lib/logo.tcl
+++ b/git-gui/lib/logo.tcl
diff --git a/lib/merge.tcl b/git-gui/lib/merge.tcl
index 5cded2341c..5cded2341c 100644
--- a/lib/merge.tcl
+++ b/git-gui/lib/merge.tcl
diff --git a/lib/mergetool.tcl b/git-gui/lib/mergetool.tcl
index 3fe90e6970..3fe90e6970 100644
--- a/lib/mergetool.tcl
+++ b/git-gui/lib/mergetool.tcl
diff --git a/lib/option.tcl b/git-gui/lib/option.tcl
index d4c5e45c8a..d4c5e45c8a 100644
--- a/lib/option.tcl
+++ b/git-gui/lib/option.tcl
diff --git a/lib/remote.tcl b/git-gui/lib/remote.tcl
index b92b429cf7..b92b429cf7 100644
--- a/lib/remote.tcl
+++ b/git-gui/lib/remote.tcl
diff --git a/lib/remote_add.tcl b/git-gui/lib/remote_add.tcl
index 50029d0cee..50029d0cee 100644
--- a/lib/remote_add.tcl
+++ b/git-gui/lib/remote_add.tcl
diff --git a/lib/remote_branch_delete.tcl b/git-gui/lib/remote_branch_delete.tcl
index f872a3d89d..f872a3d89d 100644
--- a/lib/remote_branch_delete.tcl
+++ b/git-gui/lib/remote_branch_delete.tcl
diff --git a/lib/search.tcl b/git-gui/lib/search.tcl
index 7fdbf87bcd..7fdbf87bcd 100644
--- a/lib/search.tcl
+++ b/git-gui/lib/search.tcl
diff --git a/lib/shortcut.tcl b/git-gui/lib/shortcut.tcl
index 79c1888e11..79c1888e11 100644
--- a/lib/shortcut.tcl
+++ b/git-gui/lib/shortcut.tcl
diff --git a/lib/spellcheck.tcl b/git-gui/lib/spellcheck.tcl
index e6120303e9..e6120303e9 100644
--- a/lib/spellcheck.tcl
+++ b/git-gui/lib/spellcheck.tcl
diff --git a/lib/sshkey.tcl b/git-gui/lib/sshkey.tcl
index 5f75bc96b3..5f75bc96b3 100644
--- a/lib/sshkey.tcl
+++ b/git-gui/lib/sshkey.tcl
diff --git a/lib/status_bar.tcl b/git-gui/lib/status_bar.tcl
index 5fe3aad382..5fe3aad382 100644
--- a/lib/status_bar.tcl
+++ b/git-gui/lib/status_bar.tcl
diff --git a/lib/themed.tcl b/git-gui/lib/themed.tcl
index 1da458673b..1da458673b 100644
--- a/lib/themed.tcl
+++ b/git-gui/lib/themed.tcl
diff --git a/lib/tools.tcl b/git-gui/lib/tools.tcl
index 95e6e5553e..95e6e5553e 100644
--- a/lib/tools.tcl
+++ b/git-gui/lib/tools.tcl
diff --git a/lib/tools_dlg.tcl b/git-gui/lib/tools_dlg.tcl
index 7eeda9daf2..7eeda9daf2 100644
--- a/lib/tools_dlg.tcl
+++ b/git-gui/lib/tools_dlg.tcl
diff --git a/lib/transport.tcl b/git-gui/lib/transport.tcl
index 60e3a642c5..60e3a642c5 100644
--- a/lib/transport.tcl
+++ b/git-gui/lib/transport.tcl
diff --git a/lib/win32.tcl b/git-gui/lib/win32.tcl
index d7f93d045d..d7f93d045d 100644
--- a/lib/win32.tcl
+++ b/git-gui/lib/win32.tcl
diff --git a/lib/win32_shortcut.js b/git-gui/lib/win32_shortcut.js
index 117923f886..117923f886 100644
--- a/lib/win32_shortcut.js
+++ b/git-gui/lib/win32_shortcut.js
diff --git a/macosx/AppMain.tcl b/git-gui/macosx/AppMain.tcl
index ddbe6334a2..ddbe6334a2 100644
--- a/macosx/AppMain.tcl
+++ b/git-gui/macosx/AppMain.tcl
diff --git a/macosx/Info.plist b/git-gui/macosx/Info.plist
index b3bf15fa1c..b3bf15fa1c 100644
--- a/macosx/Info.plist
+++ b/git-gui/macosx/Info.plist
diff --git a/macosx/git-gui.icns b/git-gui/macosx/git-gui.icns
index 77d88a77a7..77d88a77a7 100644
--- a/macosx/git-gui.icns
+++ b/git-gui/macosx/git-gui.icns
Binary files differ
diff --git a/po/.gitignore b/git-gui/po/.gitignore
index a89cf44969..a89cf44969 100644
--- a/po/.gitignore
+++ b/git-gui/po/.gitignore
diff --git a/po/README b/git-gui/po/README
index 595bbf5dee..595bbf5dee 100644
--- a/po/README
+++ b/git-gui/po/README
diff --git a/po/de.po b/git-gui/po/de.po
index 44c5ddc8b6..44c5ddc8b6 100644
--- a/po/de.po
+++ b/git-gui/po/de.po
diff --git a/po/el.po b/git-gui/po/el.po
index 3634ba469d..3634ba469d 100644
--- a/po/el.po
+++ b/git-gui/po/el.po
diff --git a/po/fr.po b/git-gui/po/fr.po
index 81706965f3..81706965f3 100644
--- a/po/fr.po
+++ b/git-gui/po/fr.po
diff --git a/po/git-gui.pot b/git-gui/po/git-gui.pot
index 1ae2aaa0b3..1ae2aaa0b3 100644
--- a/po/git-gui.pot
+++ b/git-gui/po/git-gui.pot
diff --git a/po/glossary/Makefile b/git-gui/po/glossary/Makefile
index 749aa2e7ec..749aa2e7ec 100644
--- a/po/glossary/Makefile
+++ b/git-gui/po/glossary/Makefile
diff --git a/po/glossary/de.po b/git-gui/po/glossary/de.po
index 35764d1d22..35764d1d22 100644
--- a/po/glossary/de.po
+++ b/git-gui/po/glossary/de.po
diff --git a/po/glossary/el.po b/git-gui/po/glossary/el.po
index 1d3cc818d5..1d3cc818d5 100644
--- a/po/glossary/el.po
+++ b/git-gui/po/glossary/el.po
diff --git a/po/glossary/fr.po b/git-gui/po/glossary/fr.po
index 27c006abb2..27c006abb2 100644
--- a/po/glossary/fr.po
+++ b/git-gui/po/glossary/fr.po
diff --git a/po/glossary/git-gui-glossary.pot b/git-gui/po/glossary/git-gui-glossary.pot
index 40eb3e9c07..40eb3e9c07 100644
--- a/po/glossary/git-gui-glossary.pot
+++ b/git-gui/po/glossary/git-gui-glossary.pot
diff --git a/po/glossary/git-gui-glossary.txt b/git-gui/po/glossary/git-gui-glossary.txt
index 9b31f69152..9b31f69152 100644
--- a/po/glossary/git-gui-glossary.txt
+++ b/git-gui/po/glossary/git-gui-glossary.txt
diff --git a/po/glossary/it.po b/git-gui/po/glossary/it.po
index bb46b48d6b..bb46b48d6b 100644
--- a/po/glossary/it.po
+++ b/git-gui/po/glossary/it.po
diff --git a/po/glossary/txt-to-pot.sh b/git-gui/po/glossary/txt-to-pot.sh
index 49bf7c5365..49bf7c5365 100755
--- a/po/glossary/txt-to-pot.sh
+++ b/git-gui/po/glossary/txt-to-pot.sh
diff --git a/po/glossary/zh_cn.po b/git-gui/po/glossary/zh_cn.po
index 158835b5c1..158835b5c1 100644
--- a/po/glossary/zh_cn.po
+++ b/git-gui/po/glossary/zh_cn.po
diff --git a/po/hu.po b/git-gui/po/hu.po
index 0f87bc1cbe..0f87bc1cbe 100644
--- a/po/hu.po
+++ b/git-gui/po/hu.po
diff --git a/po/it.po b/git-gui/po/it.po
index aa15a204d8..aa15a204d8 100644
--- a/po/it.po
+++ b/git-gui/po/it.po
diff --git a/po/ja.po b/git-gui/po/ja.po
index 15017985e5..15017985e5 100644
--- a/po/ja.po
+++ b/git-gui/po/ja.po
diff --git a/po/nb.po b/git-gui/po/nb.po
index 6de93c28c2..6de93c28c2 100644
--- a/po/nb.po
+++ b/git-gui/po/nb.po
diff --git a/po/po2msg.sh b/git-gui/po/po2msg.sh
index 1e9f992528..1e9f992528 100644
--- a/po/po2msg.sh
+++ b/git-gui/po/po2msg.sh
diff --git a/po/ru.po b/git-gui/po/ru.po
index 364c074c50..364c074c50 100644
--- a/po/ru.po
+++ b/git-gui/po/ru.po
diff --git a/po/sv.po b/git-gui/po/sv.po
index d8d73acf2c..d8d73acf2c 100644
--- a/po/sv.po
+++ b/git-gui/po/sv.po
diff --git a/po/zh_cn.po b/git-gui/po/zh_cn.po
index 91c1be23c2..91c1be23c2 100644
--- a/po/zh_cn.po
+++ b/git-gui/po/zh_cn.po
diff --git a/windows/git-gui.sh b/git-gui/windows/git-gui.sh
index 66bbb2f8fa..66bbb2f8fa 100644
--- a/windows/git-gui.sh
+++ b/git-gui/windows/git-gui.sh