Merge tag 'gitgui-0.18.0' of git://repo.or.cz/git-gui
authorJunio C Hamano <gitster@pobox.com>
Mon, 17 Jun 2013 03:06:55 +0000 (20:06 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 17 Jun 2013 03:06:55 +0000 (20:06 -0700)
git-gui 0.18.0

* tag 'gitgui-0.18.0' of git://repo.or.cz/git-gui:
git-gui 0.18
git-gui: avoid an error message when removing the last remote
git-gui: fix file name handling with non-empty prefix
git-gui: bring wish process to front on Mac
git-gui: change dialog button positions for Windows to suit platform.
git-gui: allow "\ No newline at end of file" for linewise staging
git-gui: fix the mergetool launcher for the Beyond Compare tool.
Makefile: replace "echo 1>..." with "echo >..."
French translation: copy -> copie.
git-gui: Fix parsing of <rev> <path-which-not-present-in-worktree>

git-gui/GIT-VERSION-GEN
git-gui/Makefile
git-gui/git-gui.sh
git-gui/lib/choose_repository.tcl
git-gui/lib/diff.tcl
git-gui/lib/mergetool.tcl
git-gui/lib/remote.tcl
git-gui/po/fr.po
index 49b62ea6ebc61c4af16d7d740e5b423e5787b915..0a1f8d4f8a9187a0d5decf20f9c926dbd570a8db 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 GVF=GIT-VERSION-FILE
-DEF_VER=0.17.GITGUI
+DEF_VER=0.18.GITGUI
 
 LF='
 '
index e22ba5c321dc47fdf512f30c5e6c741c41fb99eb..e9c2bc347dc77fb08bc6515a604a744fc4ee5795 100644 (file)
@@ -254,7 +254,7 @@ lib/tclIndex: $(ALL_LIBFILES) GIT-GUI-VARS
          auto_mkindex lib '*.tcl' \
        | $(TCL_PATH) $(QUIET_2DEVNULL); then : ok; \
        else \
-        echo 1>&2 "    * $(TCL_PATH) failed; using unoptimized loading"; \
+        echo >&2 "    * $(TCL_PATH) failed; using unoptimized loading"; \
         rm -f $@ ; \
         echo '# Autogenerated by git-gui Makefile' >$@ && \
         echo >>$@ && \
@@ -274,8 +274,8 @@ 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"; \
+               echo >&2 "    * new locations or Tcl/Tk interpreter"; \
+               echo >$@ "$$VARS"; \
        fi
 
 ifdef GITGUI_MACOSXAPP
index 89f636f4963cf7933639f6a23b3be2e8fd4c0964..153f85da068294917f5e60afca4fb6715f3f32ab 100755 (executable)
@@ -135,6 +135,20 @@ proc strcat {args} {
 ::msgcat::mcload $oguimsg
 unset oguimsg
 
+######################################################################
+##
+## On Mac, bring the current Wish process window to front
+
+if {[tk windowingsystem] eq "aqua"} {
+       catch {
+               exec osascript -e [format {
+                       tell application "System Events"
+                               set frontmost of processes whose unix id is %d to true
+                       end tell
+               } [pid]]
+       }
+}
+
 ######################################################################
 ##
 ## read only globals
@@ -3003,18 +3017,11 @@ blame {
        set jump_spec {}
        set is_path 0
        foreach a $argv {
-               if {[file exists $a]} {
-                       if {$path ne {}} usage
-                       set path [normalize_relpath $a]
-                       break
-               } elseif {[file exists $_prefix$a]} {
-                       if {$path ne {}} usage
-                       set path [normalize_relpath $_prefix$a]
-                       break
-               }
+               set p [file join $_prefix $a]
 
-               if {$is_path} {
+               if {$is_path || [file exists $p]} {
                        if {$path ne {}} usage
+                       set path [normalize_relpath $p]
                        break
                } elseif {$a eq {--}} {
                        if {$path ne {}} {
index 657f7d5dc19b13f36a31b833f04407b8ca0b2901..ee58981f539bfd27dbba99db47d6f85102b0e7a6 100644 (file)
@@ -286,7 +286,9 @@ method _next {action} {
        destroy $w_body
        if {![winfo exists $w_next]} {
                ${NS}::button $w_next -default active
-               pack $w_next -side right -padx 5 -before $w_quit
+               set pos -before
+               if {[tk windowingsystem] eq "win32"} { set pos -after }
+               pack $w_next -side right -padx 5 $pos $w_quit
        }
        _do_$action $this
 }
index ec4405567a9b86a9bfd8bf50815b3c9c14e2df40..30d9a797769b49cdd9d42fba925d8fa8ecbffb21 100644 (file)
@@ -764,8 +764,15 @@ proc apply_range_or_line {x y} {
                                # context line
                                set ln [$ui_diff get $i_l $next_l]
                                set patch "$patch$pre_context$ln"
-                               set n [expr $n+1]
-                               set m [expr $m+1]
+                               # Skip the "\ No newline at end of
+                               # file". Depending on the locale setting
+                               # we don't know what this line looks
+                               # like exactly. The only thing we do
+                               # know is that it starts with "\ "
+                               if {![string match {\\ *} $ln]} {
+                                       set n [expr $n+1]
+                                       set m [expr $m+1]
+                               }
                                set pre_context {}
                        } elseif {$c1 eq $to_context} {
                                # turn change line into context line
index 3c8e73bcebea652c11e328169f63a6d9950d6dc2..120bc4064b6f88023fb067a7aedaa67e13802f2c 100644 (file)
@@ -189,9 +189,9 @@ proc merge_resolve_tool2 {} {
        }
        bc3 {
                if {$base_stage ne {}} {
-                       set cmdline [list "$merge_tool_path" "$LOCAL" "$REMOTE" "$BASE" -mergeoutput="$MERGED"]
+                       set cmdline [list "$merge_tool_path" "$LOCAL" "$REMOTE" "$BASE" "-mergeoutput=$MERGED"]
                } else {
-                       set cmdline [list "$merge_tool_path" "$LOCAL" "$REMOTE" -mergeoutput="$MERGED"]
+                       set cmdline [list "$merge_tool_path" "$LOCAL" "$REMOTE" "-mergeoutput=$MERGED"]
                }
        }
        ecmerge {
index 5e4e7f4c83952ac2ec4c60eb79426248071ae54e..4e5c7844188ee2eab0c9f6e00835b99c69bbdfc2 100644 (file)
@@ -245,7 +245,8 @@ proc update_all_remotes_menu_entry {} {
        set prune_m $remote_m.prune
        if {$have_remote > 1} {
                make_sure_remote_submenues_exist $remote_m
-               if {[$fetch_m entrycget end -label] ne "All"} {
+               if {[$fetch_m type end] eq "command" \
+                       && [$fetch_m entrycget end -label] ne "All"} {
 
                        $fetch_m insert end separator
                        $fetch_m insert end command \
@@ -259,7 +260,8 @@ proc update_all_remotes_menu_entry {} {
                }
        } else {
                if {[winfo exists $fetch_m]} {
-                       if {[$fetch_m entrycget end -label] eq "All"} {
+                       if {[$fetch_m type end] eq "command" \
+                               && [$fetch_m entrycget end -label] eq "All"} {
 
                                delete_from_menu $fetch_m end
                                delete_from_menu $fetch_m end
index 40441dbb0da4fe5a62776054aa2d5d2d30d9af8f..0aff18691d168d7826995d5288e37d8421009141 100644 (file)
@@ -1139,7 +1139,7 @@ msgstr "Standard (rapide, semi-redondant, liens durs)"
 
 #: lib/choose_repository.tcl:514
 msgid "Full Copy (Slower, Redundant Backup)"
-msgstr "Copy complète (plus lent, sauvegarde redondante)"
+msgstr "Copie complète (plus lent, sauvegarde redondante)"
 
 #: lib/choose_repository.tcl:520
 msgid "Shared (Fastest, Not Recommended, No Backup)"