Thread (3 messages) flat view 3 messages, 3 authors, 2016-06-15

Re: [PATCH] git-gui: add config value gui.diffopts for passing additional diff options

From: Pat Thoyts <hidden>
Date: 2016-06-15 22:50:27

Tilman Vogel [off-list ref] writes:
quoted hunk
Signed-off-by: Tilman Vogel <redacted>
---
Documentation/config.txt |    4 ++++
git-gui/git-gui.sh       |    1 +
git-gui/lib/diff.tcl     |    1 +
git-gui/lib/option.tcl   |    1 +
4 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index ff7c225..0ed7bcf 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -1100,6 +1100,10 @@ gui.diffcontext::
	Specifies how many context lines should be used in calls to diff
	made by the linkgit:git-gui[1]. The default is "5".

+gui.diffopts::
+	Specifies additional parameters to pass to diff from 
+	linkgit:git-gui[1]. The default is "".
+
gui.encoding::
	Specifies the default encoding to use for displaying of
	file contents in linkgit:git-gui[1] and linkgit:gitk[1].
diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index d3acf0d..2a3aed5 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
@@ -823,6 +823,7 @@ set default_config(gui.fastcopyblame) false
set default_config(gui.copyblamethreshold) 40
set default_config(gui.blamehistoryctx) 7
set default_config(gui.diffcontext) 5
+set default_config(gui.diffopts) {}
set default_config(gui.commitmsgwidth) 75
set default_config(gui.newbranchtemplate) {}
set default_config(gui.spellingdictionary) {}
diff --git a/git-gui/lib/diff.tcl b/git-gui/lib/diff.tcl
index dcf0711..de3827a 100644
--- a/git-gui/lib/diff.tcl
+++ b/git-gui/lib/diff.tcl
@@ -295,6 +295,7 @@ proc start_show_diff {cont_info {add_opts {}}} {
	lappend cmd -p
	lappend cmd --color
+	set cmd [concat $cmd $repo_config(gui.diffopts)]
	if {$repo_config(gui.diffcontext) >= 1} {
		lappend cmd "-U$repo_config(gui.diffcontext)"
	}
diff --git a/git-gui/lib/option.tcl b/git-gui/lib/option.tcl
index 3807c8d..1e5d28c 100644
--- a/git-gui/lib/option.tcl
+++ b/git-gui/lib/option.tcl
@@ -153,6 +153,7 @@ proc do_options {} {
		{i-20..200 gui.copyblamethreshold {mc "Minimum Letters To Blame Copy On"}}
		{i-0..300 gui.blamehistoryctx {mc "Blame History Context Radius (days)"}}
		{i-1..99 gui.diffcontext {mc "Number of Diff Context Lines"}}
+		{t gui.diffopts {mc "Additional Diff Parameters"}}
		{i-0..99 gui.commitmsgwidth {mc "Commit Message Text Width"}}
		{t gui.newbranchtemplate {mc "New Branch Name Template"}}
		{c gui.encoding {mc "Default File Contents Encoding"}}
This seems ok but you don't say what it is for. Why do you want to be
able to pass additional options to git diff?

I can apply this to git-gui's repository. The Documentation change will
need to be sent to git separately once this is merged from git-gui.

-- 
Pat Thoyts                            http://www.patthoyts.tk/
PGP fingerprint 2C 6E 98 07 2C 59 C8 97  10 CE 11 E6 04 E0 B9 DD
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help