From: Shawn O. Pearce Date: Sun, 12 Nov 2006 23:51:38 +0000 (-0500) Subject: git-gui: Cleanup diff construction code to prepare for more options. X-Git-Tag: gitgui-0.6.0~226 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=fd2656fdfe575b55424b672f8bc274bf86526b9e;p=git.git git-gui: Cleanup diff construction code to prepare for more options. I'd like to allow the user to have more control over how we format the diff in the diff viewer; to that end we need to add additional options to the diff-index command line as we construct the command for execution. So cleanup the command handling code now to use lappend so we can come back and add in our additional options. Signed-off-by: Shawn O. Pearce --- diff --git a/git-gui b/git-gui index fdb82812b..ea71526e6 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.} }