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

5 messages from 2013-07-07 to 2013-07-08. Participants: John Keeping, Matthieu Moy.
Thread: https://gitlist.dev/t/34374

## John Keeping, 2013-07-07 19:02

Subject: [PATCH 0/2] Avoid suggestions to "merge" remote changes
Message-ID: <cover.1373223663.git.john@keeping.me.uk>
URL: https://gitlist.dev/e/cover.1373223663.git.john%40keeping.me.uk

```
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, 2013-07-07 19:02

Subject: [PATCH 1/2] push: avoid suggesting "merging" remote changes
Message-ID: <2a6f4a3c31e667aa03b06ce63ae5319a25beaca0.1373223663.git.john@keeping.me.uk>
URL: https://gitlist.dev/e/2a6f4a3c31e667aa03b06ce63ae5319a25beaca0.1373223663.git.john%40keeping.me.uk
In-Reply-To: <cover.1373223663.git.john@keeping.me.uk>

```
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(-)

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

```

## John Keeping, 2013-07-07 19:02

Subject: [PATCH 2/2] pull: change the description to "integrate" changes
Message-ID: <c13c6c4b15d1cfcaa140a8d71676ce330c32e9b9.1373223663.git.john@keeping.me.uk>
URL: https://gitlist.dev/e/c13c6c4b15d1cfcaa140a8d71676ce330c32e9b9.1373223663.git.john%40keeping.me.uk
In-Reply-To: <cover.1373223663.git.john@keeping.me.uk>

```
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(-)

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

```

## Matthieu Moy, 2013-07-08 13:47

Subject: Re: [PATCH 1/2] push: avoid suggesting "merging" remote changes
Message-ID: <vpqd2qtkvtk.fsf@anie.imag.fr>
URL: https://gitlist.dev/e/vpqd2qtkvtk.fsf%40anie.imag.fr
In-Reply-To: <2a6f4a3c31e667aa03b06ce63ae5319a25beaca0.1373223663.git.john@keeping.me.uk>

```
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.

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, 2013-07-08 18:47

Subject: Re: [PATCH 1/2] push: avoid suggesting "merging" remote changes
Message-ID: <20130708184715.GW9161@serenity.lan>
URL: https://gitlist.dev/e/20130708184715.GW9161%40serenity.lan
In-Reply-To: <vpqd2qtkvtk.fsf@anie.imag.fr>

```
On Mon, Jul 08, 2013 at 03:47:19PM +0200, Matthieu Moy wrote:
> 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.

```
