Thread (52 messages) 52 messages, 4 authors, 2020-12-07

Re: [PATCH v2 02/14] pull: improve default warning

From: Elijah Newren <hidden>
Date: 2020-12-04 23:00:47

On Thu, Dec 3, 2020 at 10:16 PM Felipe Contreras
[off-list ref] wrote:
We want to:

1. Be clear about what "specifying" means; merge or rebase.
2. Mention a direct shortcut for people that just want to get on with
   their lives: git pull --no-rebase.
This is a shortcut for what?
quoted hunk ↗ jump to hunk
3. Have a quick reference for users to understand what this
   "fast-forward" business means.

This patch does all three.

Thanks to the previous patch now "git pull --help" explains what a
fast-forward is, and a further patch changes --no-rebase to --merge so
it's actually user friendly.

Signed-off-by: Felipe Contreras <redacted>
---
 builtin/pull.c | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/builtin/pull.c b/builtin/pull.c
index 1034372f8b..22a9ffcade 100644
--- a/builtin/pull.c
+++ b/builtin/pull.c
@@ -346,17 +346,18 @@ static enum rebase_type config_get_rebase(void)

        if (opt_verbosity >= 0 && !opt_ff) {
                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"
-                        "\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"
-                        "\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"));
+                       "discouraged; you need to specify if you want a merge, or a rebase.\n"
...want a merge, a rebase, or neither.
+                       "You can squelch this message by running one of the following commands:\n"
+                       "\n"
+                       "  git config pull.rebase false  # merge (the default strategy)\n"
Should this be labelled as the default given the desire to make
--ff-only the default?  Perhaps I'm jumping ahead and you plan to
change that later in this series.
+                       "  git config pull.rebase true   # rebase\n"
+                       "  git config pull.ff only       # fast-forward only\n"
+                       "\n"
+                       "You can replace \"git config\" with \"git config --global\" to set a default\n"
+                       "preference for all repositories.\n"
Good up to here.
+                       "If unsure, run \"git pull --no-rebase\".\n"
Why is that safe to suggest?  The original text may not have been the
easiest to parse, but this seems more problematic to me.
+                       "Read \"git pull --help\" for more information."
Nice addition.

+                       ));
        }

        return REBASE_FALSE;
--
2.29.2
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help