From: Junio C Hamano Date: Wed, 14 Dec 2011 00:48:24 +0000 (-0800) Subject: Merge branch 'master' of git://repo.or.cz/git-gui X-Git-Tag: v1.7.9-rc0~75 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=73c6b3575bc638b7096ec913bd91193707e2265d;p=git.git Merge branch 'master' of git://repo.or.cz/git-gui * 'master' of git://repo.or.cz/git-gui: (28 commits) git-gui 0.16 git-gui: handle shell script text filters when loading for blame. git-gui: Set both 16x16 and 32x32 icons on X to pacify Xming. git-gui: added config gui.gcwarning to disable the gc hint message git-gui: set whitespace warnings appropriate to this project git-gui: don't warn for detached head when rebasing git-gui: make config gui.warndetachedcommit a boolean git-gui: add config value gui.diffopts for passing additional diff options git-gui: sort the numeric ansi codes git-gui: support underline style when parsing diff output git-gui: fix spelling error in sshkey.tcl git-gui: include the file path in guitools confirmation dialog git-gui: span widgets over the full file output area in the blame view git-gui: use a tristate to control the case mode in the searchbar git-gui: set suitable extended window manager hints. git-gui: fix display of path in browser title git-gui: enable the smart case sensitive search only if gui.search.smartcase is true git-gui: catch invalid or complete regular expressions and treat as no match. git-gui: theme the search and line-number entry fields on blame screen git-gui: include the number of untracked files to stage when asking the user ... --- 73c6b3575bc638b7096ec913bd91193707e2265d diff --cc git-gui/.gitattributes index f96112d47,000000000..33d07c06b mode 100644,000000..100644 --- a/git-gui/.gitattributes +++ b/git-gui/.gitattributes @@@ -1,3 -1,0 +1,4 @@@ ++* whitespace=indent-with-non-tab,trailing-space,space-before-tab,tabwidth=4 +* encoding=US-ASCII +git-gui.sh encoding=UTF-8 +/po/*.po encoding=UTF-8 diff --cc git-gui/GIT-VERSION-GEN index 1fb4d9b4b,000000000..65709437f mode 100755,000000..100755 --- a/git-gui/GIT-VERSION-GEN +++ b/git-gui/GIT-VERSION-GEN @@@ -1,80 -1,0 +1,80 @@@ +#!/bin/sh + +GVF=GIT-VERSION-FILE - DEF_VER=0.13.GITGUI ++DEF_VER=0.16.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 +}