threads / patch / 34374

patch, 2 partsAvoid suggestions to "merge" remote changes

Subject: [PATCH 0/2] Avoid suggestions to "merge" remote changes

## tl;dr

5 messages between Jul 7, 2013 and Jul 8, 2013. Diffs are folded; open one to read it.

replies: 4people: 2as markdown or json

John Keeping· Jul 7, 2013, 19:02 UTC · lore

As another aspect of the change to make git-pull die when remote changes do not fast-forward, this series changes the advice messages in git-push to avoid implying that the user wants to merge remote changes.

I've chosen the word "integrate" because it does not carry any special meaning in Git (in terms of being a command) and seems to cover the merge and rebase cases nicely.

John Keeping (2):
  push: avoid suggesting "merging" remote changes
  pull: change the description to "integrate" changes
 Documentation/git-pull.txt |  2 +-
 builtin/push.c             | 12 ++++++------
 git-pull.sh                |  2 +-
 3 files changed, 8 insertions(+), 8 deletions(-)
-- 
1.8.3.2.855.gbc9faed
John Keeping· Jul 7, 2013, 19:02 UTC · re: John Keeping · lore

[PATCH 1/2] push: avoid suggesting "merging" remote changes

With some workflows, it is more suitable to rebase on top of remote changes when a push does not fast-forward. Change the advice messages in git-push to suggest that a user "integrate the remote changes" instead of "merge the remote changes" to make this slightly clearer.

Also change the suggested 'git pull' to 'git pull ...' to hint to users that they may want to add other parameters.

Suggested-by: Philip Oakley <philipoakley@iee.org>
Signed-off-by: John Keeping <john@keeping.me.uk>
---
 builtin/push.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
Show changes to builtin/push.c +6 −6
diff --git a/builtin/push.c b/builtin/push.c
index 2d84d10..44e53cd 100644
--- a/builtin/push.c
+++ b/builtin/push.c
@@ -211,8 +211,8 @@ static void setup_default_push_refspecs(struct remote *remote)
 
 static const char message_advice_pull_before_push[] =
 	N_("Updates were rejected because the tip of your current branch is behind\n"
-	   "its remote counterpart. Merge the remote changes (e.g. 'git pull')\n"
-	   "before pushing again.\n"
+	   "its remote counterpart. Integrate the remote changes (e.g.\n"
+	   "'git pull ...') before pushing again.\n"
 	   "See the 'Note about fast-forwards' in 'git push --help' for details.");
 
 static const char message_advice_use_upstream[] =
@@ -223,15 +223,15 @@ static const char message_advice_use_upstream[] =
 
 static const char message_advice_checkout_pull_push[] =
 	N_("Updates were rejected because a pushed branch tip is behind its remote\n"
-	   "counterpart. Check out this branch and merge the remote changes\n"
-	   "(e.g. 'git pull') before pushing again.\n"
+	   "counterpart. Check out this branch and integrate the remote changes\n"
+	   "(e.g. 'git pull ...') before pushing again.\n"
 	   "See the 'Note about fast-forwards' in 'git push --help' for details.");
 
 static const char message_advice_ref_fetch_first[] =
 	N_("Updates were rejected because the remote contains work that you do\n"
 	   "not have locally. This is usually caused by another repository pushing\n"
-	   "to the same ref. You may want to first merge the remote changes (e.g.,\n"
-	   "'git pull') before pushing again.\n"
+	   "to the same ref. You may want to first integrate the remote changes\n"
+	   "(e.g., 'git pull ...') before pushing again.\n"
 	   "See the 'Note about fast-forwards' in 'git push --help' for details.");
 
 static const char message_advice_ref_already_exists[] =
-- 
1.8.3.2.855.gbc9faed
Matthieu Moy· Jul 8, 2013, 13:47 UTC · re: John Keeping · lore

Re: [PATCH 1/2] push: avoid suggesting "merging" remote changes

John Keeping <john@keeping.me.uk> writes:
Show 6 quoted lines
>  static const char message_advice_pull_before_push[] =
>  	N_("Updates were rejected because the tip of your current branch is behind\n"
> -	   "its remote counterpart. Merge the remote changes (e.g. 'git pull')\n"
> -	   "before pushing again.\n"
> +	   "its remote counterpart. Integrate the remote changes (e.g.\n"
> +	   "'git pull ...') before pushing again.\n"

To me, "merge" includes "rebase", so I'd say the merge -> integrate change is not needed, but I have nothing against it either.

The "..." added are a bit weird with the quotes around. Quotes may suggest that the content is to be taken literally, which is not the case anymore. Not a real objection anyway, just thinking aloud.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
John Keeping· Jul 8, 2013, 18:47 UTC · re: Matthieu Moy · lore

Re: [PATCH 1/2] push: avoid suggesting "merging" remote changes

On Mon, Jul 08, 2013 at 03:47:19PM +0200, Matthieu Moy wrote:
Show 11 quoted lines
> John Keeping <john@keeping.me.uk> writes:
> 
> >  static const char message_advice_pull_before_push[] =
> >  	N_("Updates were rejected because the tip of your current branch is behind\n"
> > -	   "its remote counterpart. Merge the remote changes (e.g. 'git pull')\n"
> > -	   "before pushing again.\n"
> > +	   "its remote counterpart. Integrate the remote changes (e.g.\n"
> > +	   "'git pull ...') before pushing again.\n"
> 
> To me, "merge" includes "rebase", so I'd say the merge -> integrate
> change is not needed, but I have nothing against it either.

Yes, I agree that in some sense "merge" does include "rebase" but I suspect some people read it to mean "git merge" and saying "integrate" removes that potential source of confusion.

> The "..." added are a bit weird with the quotes around. Quotes may
> suggest that the content is to be taken literally, which is not the case
> anymore. Not a real objection anyway, just thinking aloud.

I hadn't thought of it that way, but I wonder how else we can delimit the command.

John Keeping· Jul 7, 2013, 19:02 UTC · re: John Keeping · lore

[PATCH 2/2] pull: change the description to "integrate" changes

Since git-pull learned the --rebase option it has not just been about merging changes from a remote repository (where "merge" is in the sense of "git merge"). Change the description to use "integrate" instead of "merge" in order to reflect this.

Signed-off-by: John Keeping <john@keeping.me.uk>
---
 Documentation/git-pull.txt | 2 +-
 git-pull.sh                | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
Show changes to 2 files +2 −2

Documentation/git-pull.txt, git-pull.sh

diff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt
index 24ab07a..6ef8d59 100644
--- a/Documentation/git-pull.txt
+++ b/Documentation/git-pull.txt
@@ -3,7 +3,7 @@ git-pull(1)
 
 NAME
 ----
-git-pull - Fetch from and merge with another repository or a local branch
+git-pull - Fetch from and integrate with another repository or a local branch
 
 
 SYNOPSIS
diff --git a/git-pull.sh b/git-pull.sh
index 6828e2c..ecf0011 100755
--- a/git-pull.sh
+++ b/git-pull.sh
@@ -5,7 +5,7 @@
 # Fetch one or more remote refs and merge it/them into the current HEAD.
 
 USAGE='[-n | --no-stat] [--[no-]commit] [--[no-]squash] [--[no-]ff] [-s strategy]... [<fetch-options>] <repo> <head>...'
-LONG_USAGE='Fetch one or more remote refs and merge it/them into the current HEAD.'
+LONG_USAGE='Fetch one or more remote refs and integrate it/them into the current HEAD.'
 SUBDIRECTORY_OK=Yes
 OPTIONS_SPEC=
 . git-sh-setup
-- 
1.8.3.2.855.gbc9faed

← back to recent threads