Code

Merge branch 'maint' gitgui-0.6.5
authorShawn O. Pearce <spearce@spearce.org>
Mon, 12 Mar 2007 17:26:59 +0000 (13:26 -0400)
committerShawn O. Pearce <spearce@spearce.org>
Mon, 12 Mar 2007 17:26:59 +0000 (13:26 -0400)
* maint:
  git-gui: Allow 'git gui version' outside of a repository
  git-gui: Revert "git-gui: Display all authors of git-gui."
  git-gui: Revert "Don't modify CREDITS-FILE if it hasn't changed."
  git-gui: Allow committing empty merges

.gitignore
CREDITS-GEN [deleted file]
Makefile
git-gui.sh

index 805ca2e1c7875fcc9c588dbee5041929c0e451d3..c714d382e87b5c18609f5934890c8b135a720262 100644 (file)
@@ -1,4 +1,3 @@
-CREDITS-FILE
 GIT-VERSION-FILE
 git-citool
 git-gui
diff --git a/CREDITS-GEN b/CREDITS-GEN
deleted file mode 100755 (executable)
index d1b0f86..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/bin/sh
-
-CF=CREDITS-FILE
-tip=
-
-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 $p; break;;
-               esac
-       done
-}
-
-generate_credits ()
-{
-       tip=$1 &&
-       rm -f "$2" &&
-       git shortlog -n -s $tip | sed 's/: .*$//' >"$2" || exit
-}
-
-# Always use the tarball credits 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.
-#
-
-credits_tmp=/var/tmp/gitgui-credits-$$
-trap 'rm -f "$credits_tmp"' 0
-
-orig="$credits_tmp"
-
-if test -f credits
-then
-       orig=credits
-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) &&
-   tip=$(tree_search $head $tree) &&
-   test -n "$tip"
-then
-       generate_credits $tip "$orig" || exit
-elif tip="$(git rev-parse --verify HEAD 2>/dev/null)" &&
-   test -n "$tip"
-then
-       generate_credits $tip "$orig" || exit
-else
-       echo "error: Cannot locate authorship information." >&2
-       exit 1
-fi
-
-if test -f "$orig" && cmp -s "$orig" "$CF"
-then
-       : noop
-else
-       rm -f "$CF" &&
-       cat "$orig" >"$CF"
-fi
-
index a219b5d476326a03a4d12d86245ccc6ba0825627..b82789ead6255b33be0f1ed2029a91611cea3072 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -7,8 +7,9 @@ GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE
        @$(SHELL_PATH) ./GIT-VERSION-GEN
 -include GIT-VERSION-FILE
 
+SCRIPT_SH = git-gui.sh
 GITGUI_BUILT_INS = git-citool
-ALL_PROGRAMS = git-gui $(GITGUI_BUILT_INS)
+ALL_PROGRAMS = $(GITGUI_BUILT_INS) $(patsubst %.sh,%,$(SCRIPT_SH))
 
 ifndef SHELL_PATH
        SHELL_PATH = /bin/sh
@@ -36,24 +37,20 @@ DESTDIR_SQ = $(subst ','\'',$(DESTDIR))
 gitexecdir_SQ = $(subst ','\'',$(gitexecdir))
 SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
 
-git-gui: git-gui.sh GIT-VERSION-FILE CREDITS-FILE
+$(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh
        $(QUIET_GEN)rm -f $@ $@+ && \
-       sed -n \
-               -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
+       sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
                -e 's/@@GITGUI_VERSION@@/$(GITGUI_VERSION)/g' \
-               -e '1,/^set gitgui_credits /p' \
                $@.sh >$@+ && \
-       cat CREDITS-FILE >>$@+ && \
-       sed -e '1,/^set gitgui_credits /d' $@.sh >>$@+ && \
        chmod +x $@+ && \
        mv $@+ $@
 
-CREDITS-FILE: CREDITS-GEN .FORCE-CREDITS-FILE
-       $(QUIET_GEN)$(SHELL_PATH) ./CREDITS-GEN
-
 $(GITGUI_BUILT_INS): git-gui
        $(QUIET_BUILT_IN)rm -f $@ && ln git-gui $@
 
+# These can record GITGUI_VERSION
+$(patsubst %.sh,%,$(SCRIPT_SH)): GIT-VERSION-FILE
+
 all:: $(ALL_PROGRAMS)
 
 install: all
@@ -61,14 +58,12 @@ install: all
        $(INSTALL) git-gui '$(DESTDIR_SQ)$(gitexecdir_SQ)'
        $(foreach p,$(GITGUI_BUILT_INS), rm -f '$(DESTDIR_SQ)$(gitexecdir_SQ)/$p' && ln '$(DESTDIR_SQ)$(gitexecdir_SQ)/git-gui' '$(DESTDIR_SQ)$(gitexecdir_SQ)/$p' ;)
 
-dist-version: CREDITS-FILE
+dist-version:
        @mkdir -p $(TARDIR)
        @echo $(GITGUI_VERSION) > $(TARDIR)/version
-       @cat CREDITS-FILE > $(TARDIR)/credits
 
 clean::
-       rm -f $(ALL_PROGRAMS) GIT-VERSION-FILE CREDITS-FILE
+       rm -f $(ALL_PROGRAMS) GIT-VERSION-FILE
 
 .PHONY: all install dist-version clean
 .PHONY: .FORCE-GIT-VERSION-FILE
-.PHONY: .FORCE-CREDITS-FILE
index 1981827a8e8bcc2b2e43598bb06e3e6c87bd4d1d..60e79ca1b01bc8b057abe17ddab484699a7f5fdb 100755 (executable)
@@ -19,9 +19,6 @@ GNU General Public License for more details.
 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA}
-set gitgui_credits {
-Paul Mackerras
-}
 
 ######################################################################
 ##
@@ -302,6 +299,11 @@ proc ask_popup {msg} {
 ##
 ## version check
 
+if {{--version} eq $argv || {version} eq $argv} {
+       puts "git-gui version $appvers"
+       exit
+}
+
 set req_maj 1
 set req_min 5
 
@@ -1171,7 +1173,7 @@ File [short_path $path] cannot be committed by this program.
                }
                }
        }
-       if {!$files_ready} {
+       if {!$files_ready && ![string match *merge $curType]} {
                info_popup {No changes to commit.
 
 You must add at least 1 file before you can commit.
@@ -4492,61 +4494,6 @@ proc do_commit {} {
        commit_tree
 }
 
-proc do_credits {} {
-       global gitgui_credits
-
-       set w .credits_dialog
-
-       toplevel $w
-       wm geometry $w "+[winfo rootx .]+[winfo rooty .]"
-
-       label $w.header -text {git-gui Contributors} -font font_uibold
-       pack $w.header -side top -fill x
-
-       frame $w.buttons
-       button $w.buttons.close -text {Close} \
-               -font font_ui \
-               -command [list destroy $w]
-       pack $w.buttons.close -side right
-       pack $w.buttons -side bottom -fill x -pady 10 -padx 10
-
-       frame $w.credits
-       text $w.credits.t \
-               -background [$w.header cget -background] \
-               -yscrollcommand [list $w.credits.sby set] \
-               -width 20 \
-               -height 10 \
-               -wrap none \
-               -borderwidth 1 \
-               -relief solid \
-               -padx 5 -pady 5 \
-               -font font_ui
-       scrollbar $w.credits.sby -command [list $w.credits.t yview]
-       pack $w.credits.sby -side right -fill y
-       pack $w.credits.t -fill both -expand 1
-       pack $w.credits -side top -fill both -expand 1 -padx 5 -pady 5
-
-       label $w.desc \
-               -text "All portions are copyrighted by their respective authors
-and are distributed under the GNU General Public License." \
-               -padx 5 -pady 5 \
-               -justify left \
-               -anchor w \
-               -borderwidth 1 \
-               -relief solid \
-               -font font_ui
-       pack $w.desc -side top -fill x -padx 5 -pady 5
-
-       $w.credits.t insert end "[string trim $gitgui_credits]\n"
-       $w.credits.t conf -state disabled
-       $w.credits.t see 1.0
-
-       bind $w <Visibility> "grab $w; focus $w"
-       bind $w <Key-Escape> [list destroy $w]
-       wm title $w [$w.header cget -text]
-       tkwait window $w
-}
-
 proc do_about {} {
        global appvers copyright
        global tcl_patchLevel tk_patchLevel
@@ -4563,10 +4510,6 @@ proc do_about {} {
        button $w.buttons.close -text {Close} \
                -font font_ui \
                -command [list destroy $w]
-       button $w.buttons.credits -text {Contributors} \
-               -font font_ui \
-               -command do_credits
-       pack $w.buttons.credits -side left
        pack $w.buttons.close -side right
        pack $w.buttons -side bottom -fill x -pady 10 -padx 10
 
@@ -5116,8 +5059,6 @@ enable_option branch
 enable_option transport
 
 switch -- $subcommand {
---version -
-version -
 browser -
 blame {
        disable_option multicommit
@@ -5488,11 +5429,6 @@ bind all <$M1B-Key-W> {destroy [winfo toplevel %W]}
 # -- Not a normal commit type invocation?  Do that instead!
 #
 switch -- $subcommand {
---version -
-version {
-       puts "git-gui version $appvers"
-       exit
-}
 browser {
        if {[llength $argv] != 1} {
                puts stderr "usage: $argv0 browser commit"