All of lore.kernel.org
 help / color / mirror / Atom feed
From: Felipe Contreras <felipe.contreras@gmail.com>
To: git@vger.kernel.org
Cc: "Vít Ondruch" <vondruch@redhat.com>,
	"Jacob Keller" <jacob.keller@gmail.com>,
	"Alex Henrie" <alexhenrie24@gmail.com>,
	"Junio C Hamano" <gitster@pobox.com>, "Jeff King" <peff@peff.net>,
	"Elijah Newren" <newren@gmail.com>,
	"Felipe Contreras" <felipe.contreras@gmail.com>
Subject: [PATCH v2 2/2] pull: improve default warning
Date: Tue, 22 Jun 2021 19:48:15 -0500	[thread overview]
Message-ID: <20210623004815.1807-3-felipe.contreras@gmail.com> (raw)
In-Reply-To: <20210623004815.1807-1-felipe.contreras@gmail.com>

According to feedback from GitHub trainers [1], most newcomers don't
understand what a rebase is. So in the default warning we want to
provide our users with a command that does the most sensible thing,
fixes the divergence, gets rid of the warning, with the minimum mental
effort, and happens to be the default:

  git pull --no-rebase (later --merge)

In addition, we don't want to start by recommending a permanent
configuration, but a temporary solution so they start training their
fingers and maybe learn how to do a rebase. So we start with the commands.

Also, we need to be clear about what we mean by "specifying"; merge, or
rebase.

Moreover, thanks to the previous patch now "git pull --help" explains
what a fast-forward is, let's mention that reference.

And finally, use --global in the configuration commands like we did with
push.default.

[1] https://lore.kernel.org/git/20130909201751.GA14437@sigill.intra.peff.net/

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 builtin/pull.c | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/builtin/pull.c b/builtin/pull.c
index 3e13f81084..ede2895ecd 100644
--- a/builtin/pull.c
+++ b/builtin/pull.c
@@ -927,18 +927,19 @@ static int get_can_ff(struct object_id *orig_head, struct object_id *orig_merge_
 
 static void show_advice_pull_non_ff(void)
 {
-	advise(_("Pulling without specifying how to reconcile divergent branches is\n"
-		 "discouraged. You can squelch this message by running one of the following\n"
-		 "commands sometime before your next pull:\n"
+	advise(_("Pulling without specifying how to reconcile divergent branches is discouraged;\n"
+		 "you need to specify if you want a merge, or a rebase.\n"
 		 "\n"
-		 "  git config pull.rebase false  # merge (the default strategy)\n"
-		 "  git config pull.rebase true   # rebase\n"
-		 "  git config pull.ff only       # fast-forward only\n"
+		 "  git pull --no-rebase # the default (merge)\n"
+		 "  git pull --rebase\n"
 		 "\n"
-		 "You can replace \"git config\" with \"git config --global\" to set a default\n"
-		 "preference for all repositories. You can also pass --rebase, --no-rebase,\n"
-		 "or --ff-only on the command line to override the configured default per\n"
-		 "invocation.\n"));
+		 "You can squelch this message by running one of the following commands:\n"
+		 "\n"
+		 "  git config --global pull.rebase false  # merge\n"
+		 "  git config --global pull.rebase true   # rebase\n"
+		 "  git config --global pull.ff only       # fast-forward only\n"
+		 "\n"
+		 "Read \"git pull --help\" for more information."));
 }
 
 int cmd_pull(int argc, const char **argv, const char *prefix)
-- 
2.32.0


      parent reply	other threads:[~2021-06-23  0:48 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-21 17:52 [PATCH 0/2] pull: documentation improvements Felipe Contreras
2021-06-21 17:52 ` [PATCH 1/2] doc: pull: explain what is a fast-forward Felipe Contreras
2021-06-22  5:51   ` Bagas Sanjaya
2021-06-23  1:11     ` Felipe Contreras
2021-06-24 14:21   ` Philip Oakley
2021-06-24 14:31     ` Felipe Contreras
2021-06-24 16:59       ` Philip Oakley
2021-06-24 19:05         ` Felipe Contreras
2021-06-24 22:07           ` Philip Oakley
2021-06-24 23:41             ` Felipe Contreras
2021-06-25  9:12               ` Ævar Arnfjörð Bjarmason
2021-06-25 10:47                 ` Felipe Contreras
2021-06-25 10:59                   ` Ævar Arnfjörð Bjarmason
2021-06-25 15:49                     ` Felipe Contreras
2021-06-25 16:53                     ` Kerry, Richard
2021-06-25 17:34                       ` Felipe Contreras
2021-06-25 21:36                         ` Felipe Contreras
2021-06-21 17:52 ` [PATCH 2/2] pull: improve default warning Felipe Contreras
2021-06-21 18:05   ` Alex Henrie
2021-06-21 18:51     ` Felipe Contreras
2021-06-21 21:47       ` Alex Henrie
2021-06-21 22:12         ` Felipe Contreras
2021-06-22  3:15           ` Alex Henrie
2021-06-22  4:26             ` Felipe Contreras
2021-06-22 15:06             ` Elijah Newren
2021-06-22 21:22               ` Alex Henrie
2021-06-23  2:20                 ` Elijah Newren
2021-06-23  4:18                   ` Felipe Contreras
2021-06-23  6:47                     ` Elijah Newren
2021-06-23 17:24                       ` Felipe Contreras
2021-06-23  1:09               ` Felipe Contreras
2021-06-23  7:54                 ` Elijah Newren
2021-06-23 18:19                   ` Felipe Contreras
2021-06-24  3:38                     ` Alex Henrie
2021-06-24  5:55                       ` Felipe Contreras
2021-06-27  0:17                         ` Alex Henrie
2021-06-27  4:21                           ` Felipe Contreras
2021-06-23  0:48 ` [PATCH v2 0/2] pull: documentation improvements Felipe Contreras
2021-06-23  0:48   ` [PATCH v2 1/2] doc: pull: explain what is a fast-forward Felipe Contreras
2021-06-23  0:48   ` Felipe Contreras [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210623004815.1807-3-felipe.contreras@gmail.com \
    --to=felipe.contreras@gmail.com \
    --cc=alexhenrie24@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jacob.keller@gmail.com \
    --cc=newren@gmail.com \
    --cc=peff@peff.net \
    --cc=vondruch@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.