git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] merge: --no-ff configuration setting
@ 2010-02-22  2:59 Bryan Alves
  2010-02-23  5:55 ` Stephen Boyd
  2010-02-23  6:32 ` Junio C Hamano
  0 siblings, 2 replies; 3+ messages in thread
From: Bryan Alves @ 2010-02-22  2:59 UTC (permalink / raw)
  To: git; +Cc: Bryan Alves, gitster

Add a new configuration option, merge.allowfastforward

When set to false, causes --no-ff to be the default behavior
for merges. When set to true, or not present, the default
behavior is unchanged, and acts like --ff is set.

Signed-off-by: Bryan Alves <bryanalves@gmail.com>
---
 Documentation/merge-options.txt |    4 +++-
 builtin-merge.c                 |    3 +++
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/Documentation/merge-options.txt b/Documentation/merge-options.txt
index 3b83dba..6638af7 100644
--- a/Documentation/merge-options.txt
+++ b/Documentation/merge-options.txt
@@ -14,7 +14,9 @@ inspect and further tweak the merge result before committing.
 	the default behavior of git-merge.
 +
 With --no-ff Generate a merge commit even if the merge
-resolved as a fast-forward.
+resolved as a fast-forward.  --no-ff can be made the
+default behavior with the configuration option
+merge.allowfastforward
 
 --log::
 --no-log::
diff --git a/builtin-merge.c b/builtin-merge.c
index 3aaec7b..a96aaac 100644
--- a/builtin-merge.c
+++ b/builtin-merge.c
@@ -495,6 +495,9 @@ static int git_merge_config(const char *k, const char *v, void *cb)
 		free(buf);
 	}
 
+	if (!strcmp(k, "merge.allowfastforward"))
+		allow_fast_forward = !git_config_bool(k, v);
+
 	if (!strcmp(k, "merge.diffstat") || !strcmp(k, "merge.stat"))
 		show_diffstat = git_config_bool(k, v);
 	else if (!strcmp(k, "pull.twohead"))
-- 
1.6.6.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] merge: --no-ff configuration setting
  2010-02-22  2:59 [PATCH] merge: --no-ff configuration setting Bryan Alves
@ 2010-02-23  5:55 ` Stephen Boyd
  2010-02-23  6:32 ` Junio C Hamano
  1 sibling, 0 replies; 3+ messages in thread
From: Stephen Boyd @ 2010-02-23  5:55 UTC (permalink / raw)
  To: Bryan Alves; +Cc: git, gitster

On 02/21/2010 06:59 PM, Bryan Alves wrote:
> Add a new configuration option, merge.allowfastforward
>
> When set to false, causes --no-ff to be the default behavior
> for merges. When set to true, or not present, the default
> behavior is unchanged, and acts like --ff is set.

The subject says --no-ff configuration but the option is for --ff.
Sounds confusing. In other words, shouldn't it be
merge.disallowfastforward or merge.nofastforward? Or maybe the subject
should be "merge: --ff configuration setting"

Also could you just use branch.<name>.mergeoptions and not introduce yet
another config option? Or maybe there's some reasoning why you always
want to have merge commits in your workflow?

Finally if this goes in please add a description to Documentation/config.txt

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] merge: --no-ff configuration setting
  2010-02-22  2:59 [PATCH] merge: --no-ff configuration setting Bryan Alves
  2010-02-23  5:55 ` Stephen Boyd
@ 2010-02-23  6:32 ` Junio C Hamano
  1 sibling, 0 replies; 3+ messages in thread
From: Junio C Hamano @ 2010-02-23  6:32 UTC (permalink / raw)
  To: Bryan Alves; +Cc: git

Bryan Alves <bryanalves@gmail.com> writes:

>  Documentation/merge-options.txt |    4 +++-
>  builtin-merge.c                 |    3 +++

This needs tests to make sure that existing programs that internally use
"git merge" (e.g. "rebase -m", "rebase -i") do not break when the end user
has this configuration set in the repository, in addition to that "merge"
works as expected with and without this configuration variable, with
combinations with the use of relevant command line options.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-02-23  6:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-22  2:59 [PATCH] merge: --no-ff configuration setting Bryan Alves
2010-02-23  5:55 ` Stephen Boyd
2010-02-23  6:32 ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).