git-gui: Don't show content of untracked binary files.
[gitweb.git] / git-gui.sh
index bbf57b96a0632ab43722b5f3d6b9e4752dafae6e..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
                }
        }