Code

gitk: Check git version before using --textconv flag
authorPaul Mackerras <paulus@samba.org>
Sat, 16 May 2009 11:06:01 +0000 (21:06 +1000)
committerPaul Mackerras <paulus@samba.org>
Sat, 16 May 2009 11:08:44 +0000 (21:08 +1000)
Commit 785b7535 ("gitk: use --textconv to generate diff text")
added the --textconv flag to the git diff commands used to
display commit diffs.  Since some people use newer gitk with older
git installations, this adds a check on the git version to check
that it understands --textconv before using it.

Signed-off-by: Paul Mackerras <paulus@samba.org>
gitk

diff --git a/gitk b/gitk
index dcbfdc65389f02f63848df8bb55c9b52ba6f41b6..571078247251f6c03f7d4e9af5f48476c1490efa 100755 (executable)
--- a/gitk
+++ b/gitk
@@ -7267,8 +7267,13 @@ proc getblobdiffs {ids} {
     global ignorespace
     global limitdiffs vfilelimit curview
     global diffencoding targetline diffnparents
+    global git_version
 
-    set cmd [diffcmd $ids "-p --textconv -C --cc --no-commit-id -U$diffcontext"]
+    set textconv {}
+    if {[package vcompare $git_version "1.6.1"] >= 0} {
+       set textconv "--textconv"
+    }
+    set cmd [diffcmd $ids "-p $textconv -C --cc --no-commit-id -U$diffcontext"]
     if {$ignorespace} {
        append cmd " -w"
     }
@@ -11090,6 +11095,7 @@ set nullid2 "0000000000000000000000000000000000000001"
 set nullfile "/dev/null"
 
 set have_tk85 [expr {[package vcompare $tk_version "8.5"] >= 0}]
+set git_version [lindex [exec git version] end]
 
 set runq {}
 set history {}