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

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

 



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@xxxxxxxxx>
---
 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




[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]

  Powered by Linux