aboutsummaryrefslogtreecommitdiff
path: root/git-gui
diff options
context:
space:
mode:
Diffstat (limited to 'git-gui')
-rwxr-xr-xgit-gui15
1 files changed, 11 insertions, 4 deletions
diff --git a/git-gui b/git-gui
index fdb82812bd..ea71526e60 100755
--- a/git-gui
+++ b/git-gui
@@ -488,7 +488,7 @@ prevent possible confusion.
proc show_diff {path {w {}} {lno {}}} {
global file_states file_lists
- global PARENT diff_3way diff_active
+ global PARENT diff_3way diff_active repo_config
global ui_diff ui_fname_value ui_fstatus_value ui_status_value
if {$diff_active || ![lock_index read]} return
@@ -515,10 +515,13 @@ proc show_diff {path {w {}} {lno {}}} {
set ui_fstatus_value [mapdesc $m $path]
set ui_status_value "Loading diff of [escape_path $path]..."
- set cmd [list | git diff-index -p $PARENT -- $path]
+ set cmd [list | git diff-index]
+ lappend cmd --no-color
+ lappend cmd -p
+
switch $m {
MM {
- set cmd [list | git diff-index -p -c $PARENT $path]
+ lappend cmd -c
}
_O {
if {[catch {
@@ -542,6 +545,10 @@ proc show_diff {path {w {}} {lno {}}} {
}
}
+ lappend cmd $PARENT
+ lappend cmd --
+ lappend cmd $path
+
if {[catch {set fd [open $cmd r]} err]} {
set diff_active 0
unlock_index
@@ -1178,7 +1185,7 @@ proc write_update_index {fd pathList totalCnt batch} {
close $fd
unlock_index
if {$update_index_rsd} {
- show_diff $ui_fname_value
+ reshow_diff
} else {
set ui_status_value {Ready.}
}