git-gui: Don't show content of untracked binary files.
[gitweb.git] / git-gui.sh
index d697d1ebe2a1a4b37a5d21e5afab8efde1df0d32..9136e7fe9844f57b106280e4d9e033adb7a9f64c 100755 (executable)
@@ -582,11 +582,11 @@ proc handle_empty_diff {} {
 [short_path $path] has no changes.
 
 The modification date of this file was updated
-by another application and you currently have
-the Trust File Modification Timestamps option
-enabled, so Git did not automatically detect
-that there are no content differences in this
-file."
+by another application, but the content within
+the file was not changed.
+
+A rescan will be automatically started to find
+other files which may have the same state."
 
        clear_diff
        display_file $path __
@@ -637,6 +637,9 @@ proc show_diff {path w {lno {}}} {
                        error_popup "Error loading file:\n\n$err"
                        return
                }
+               if {[string first "\0" [string range $content 0 8000]] != -1} {
+                       set content {* Binary file (not showing content).}
+               }
                $ui_diff conf -state normal
                $ui_diff insert end $content
                $ui_diff conf -state disabled
@@ -683,7 +686,6 @@ proc show_diff {path w {lno {}}} {
 
 proc read_diff {fd} {
        global ui_diff ui_status_value is_3way_diff diff_active
-       global repo_config
 
        $ui_diff conf -state normal
        while {[gets $fd line] >= 0} {
@@ -706,6 +708,7 @@ proc read_diff {fd} {
                        || [string match {mode *} $line]
                        || [string match {new file *} $line]
                        || [string match {deleted file *} $line]
+                       || $line eq {\ No newline at end of file}
                        || [regexp {^\* Unmerged path } $line]} {
                        set tags {}
                } elseif {$is_3way_diff} {
@@ -762,8 +765,7 @@ proc read_diff {fd} {
                unlock_index
                set ui_status_value {Ready.}
 
-               if {$repo_config(gui.trustmtime) eq {true}
-                       && [$ui_diff index end] eq {2.0}} {
+               if {[$ui_diff index end] eq {2.0}} {
                        handle_empty_diff
                }
        }
@@ -2539,7 +2541,7 @@ proc console_init {w} {
                -command "tk_textCopy $w.m.t"
        $w.ctxm add command -label "Select All" \
                -font font_ui \
-               -command "$w.m.t tag add sel 0.0 end"
+               -command "focus $w.m.t;$w.m.t tag add sel 0.0 end"
        $w.ctxm add command -label "Copy All" \
                -font font_ui \
                -command "
@@ -3913,7 +3915,7 @@ $ctxm add separator
 $ctxm add command \
        -label {Select All} \
        -font font_ui \
-       -command {$ui_comm tag add sel 0.0 end}
+       -command {focus $ui_comm;$ui_comm tag add sel 0.0 end}
 $ctxm add command \
        -label {Copy All} \
        -font font_ui \
@@ -4059,7 +4061,7 @@ lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
 $ctxm add command \
        -label {Select All} \
        -font font_ui \
-       -command {$ui_diff tag add sel 0.0 end}
+       -command {focus $ui_diff;$ui_diff tag add sel 0.0 end}
 lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
 $ctxm add command \
        -label {Copy All} \