git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Sam Vilain <sam.vilain@catalyst.net.nz>
Date
Oct 15, 2009, 23:50 UTC
Message-ID
<1255650627-17576-1-git-send-email-sam.vilain@catalyst.net.nz>

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@catalyst.net.nz>
---
 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
Next: Junio C Hamano
Message 1 of 5 in “am: allow some defaults to be specified via git-config”
  1. am: allow some defaults to be specified via git-configSam Vilain, Oct 15, 2009
  2. Junio C HamanoOct 17, 2009
  3. Wesley J. LandakerOct 19, 2009
  4. Sam VilainOct 20, 2009
  5. Junio C HamanoOct 20, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.