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

[PATCH] pull: warn if the user didn't say whether to rebase or to merge

From
Alex Henrie <alexhenrie24@gmail.com>
Date
Feb 28, 2020, 21:58 UTC
Message-ID
<20200228215833.319691-1-alexhenrie24@gmail.com>

Most Git users are contributors, not maintainers, and want to use `git pull` to rebase their changes before sending a pull request to the upstream project. However, novice Git users often forget to specify the --rebase option when pulling, leading to an unwanted merge commit. To avoid that situation, Git should require users to explicitly specify whether their primary workflow is a contributor/rebasing workflow or a maintainer/merging workflow.

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
---
 builtin/pull.c | 7 +++++++
 1 file changed, 7 insertions(+)
diff --git a/builtin/pull.c b/builtin/pull.c
index 3e624d1e00..8ec8e6f5d3 100644
--- a/builtin/pull.c
+++ b/builtin/pull.c
@@ -327,6 +327,13 @@ static enum rebase_type config_get_rebase(void)
 	if (!git_config_get_value("pull.rebase", &value))
 		return parse_config_rebase("pull.rebase", value, 1);
 
+	if (strcmp(opt_ff, "--ff-only") != 0) {
+		warning(_("Pulling without specifying whether to rebase or to merge is discouraged\n"
+			"and will be disallowed in a future Git release.\n"
+			"Next time, run `git config pull.rebase (true|false)` first\n"
+			"or specify --rebase or --no-rebase on the command line.\n"));
+	}
+
 	return REBASE_FALSE;
 }
 
-- 
2.25.1
Next: Junio C Hamano
Message 1 of 5 in “pull: warn if the user didn't say whether to rebase or to merge”
  1. pull: warn if the user didn't say whether to rebase or to mergeAlex Henrie, Feb 28, 2020
  2. Junio C HamanoFeb 28, 2020
  3. Theodore Y. Ts'oFeb 29, 2020
  4. Randall S. BeckerFeb 29, 2020
  5. Junio C HamanoFeb 29, 2020

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.