[PATCH] am: allow some defaults to be specified via git-config

Subsystems: documentation, the rest

STALE3735d

4 messages, 3 authors, 2016-06-15 · open the first message on its own page

[PATCH] am: allow some defaults to be specified via git-config

From: Sam Vilain <hidden>
Date: 2016-06-15 22:47:33

Some users prefer in particular '3way' to be the default, let them
specify it via the config file - and some other boolean settings while
we're at it.

Signed-off-by: Sam Vilain <redacted>
---
 Documentation/config.txt |    4 ++++
 Documentation/git-am.txt |   11 +++++++++--
 git-am.sh                |    5 +++++
 3 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index cd17814..82adca5 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -476,6 +476,10 @@ it will be treated as a shell command.  For example, defining
 executed from the top-level directory of a repository, which may
 not necessarily be the current directory.
 
+am.*::
+	Specify defaults for linkgit:git-am[1].  Currently, the three
+	boolean options, 'sign', 'utf8' and 'keep' may be specified.
+
 apply.ignorewhitespace::
 	When set to 'change', tells 'git-apply' to ignore changes in
 	whitespace, in the same way as the '--ignore-space-change'
diff --git a/Documentation/git-am.txt b/Documentation/git-am.txt
index 67ad5da..c22bca2 100644
--- a/Documentation/git-am.txt
+++ b/Documentation/git-am.txt
@@ -38,6 +38,7 @@ OPTIONS
 -k::
 --keep::
 	Pass `-k` flag to 'git-mailinfo' (see linkgit:git-mailinfo[1]).
+	May be specified via 'am.keep' (see linkgit:git-config[1]).
 
 -c::
 --scissors::
@@ -60,7 +61,8 @@ OPTIONS
 	preferred encoding if it is not UTF-8).
 +
 This was optional in prior versions of git, but now it is the
-default.   You can use `--no-utf8` to override this.
+default.   You can use `--no-utf8` to override this, or set
+'am.utf8' to no via linkgit:git-config[1].
 
 --no-utf8::
 	Pass `-n` flag to 'git-mailinfo' (see
@@ -71,7 +73,12 @@ default.   You can use `--no-utf8` to override this.
 	When the patch does not apply cleanly, fall back on
 	3-way merge if the patch records the identity of blobs
 	it is supposed to apply to and we have those blobs
-	available locally.
+	available locally.  This can be configured via
+	linkgit:git-config[1] using the 'am.3way' option
+
+--no-3way::
+	If 'am.3way' is specified to be true in the configuration file,
+	this switch allows it to be disabled.
 
 --ignore-date::
 --ignore-space-change::
diff --git a/git-am.sh b/git-am.sh
index c132f50..a22fa3b 100755
--- a/git-am.sh
+++ b/git-am.sh
@@ -294,6 +294,9 @@ git_apply_opt=
 committer_date_is_author_date=
 ignore_date=
 
+# apply defaults from config
+eval "$(git config --bool --get-regexp '^am\.(sign|utf8|keep)' | sed 's/^am\.\([a-z0-9]*\) /\1=/;s/true/t/;s/false//')"
+
 while test $# != 0
 do
 	case "$1" in
@@ -303,6 +306,8 @@ do
 		: ;;
 	-3|--3way)
 		threeway=t ;;
+	--no-3way)
+		threeway= ;;
 	-s|--signoff)
 		sign=t ;;
 	-u|--utf8)
-- 
1.6.3.3

Re: [PATCH] am: allow some defaults to be specified via git-config

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:47:34

Sam Vilain [off-list ref] writes:
Some users prefer in particular '3way' to be the default, let them
specify it via the config file - and some other boolean settings while
we're at it.
I have to wonder how this will interact with the internal call rebase
makes into am.  Would there be unexpected fallouts?

Re: [PATCH] am: allow some defaults to be specified via git-config

From: Wesley J. Landaker <hidden>
Date: 2016-06-15 22:47:35

On Thursday 15 October 2009 17:50:27 Sam Vilain wrote:
+am.*::
+	Specify defaults for linkgit:git-am[1].  Currently, the three
+	boolean options, 'sign', 'utf8' and 'keep' may be specified.
+
The 'git am' option is 'signoff', not 'sign'. Shouldn't the command option 
and config option names match?

Re: [PATCH] am: allow some defaults to be specified via git-config

From: Sam Vilain <hidden>
Date: 2016-06-15 22:47:35

Wesley J. Landaker wrote:
On Thursday 15 October 2009 17:50:27 Sam Vilain wrote:
quoted
+am.*::
+	Specify defaults for linkgit:git-am[1].  Currently, the three
+	boolean options, 'sign', 'utf8' and 'keep' may be specified.
+
The 'git am' option is 'signoff', not 'sign'. Shouldn't the command option 
and config option names match?
Thanks for pointing that out.  Yes, it should be.
-- 
Sam Vilain, Perl Hacker, Catalyst IT (NZ) Ltd.
phone: +64 4 499 2267        PGP ID: 0x66B25843
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help