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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <sam.vilain@xxxxxxxxxxxxxxx>
---
 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

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]