Avoid suggestions to "merge" remote changes
cover Avoid suggestions to "merge" remote changes
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(-)
Signature · 1 line
1.8.3.2.855.gbc9faed
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.
--- builtin/push.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
builtin/push.c +6 -6
@@ -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[] =
Signature · 1 line
1.8.3.2.855.gbc9faed
Re: [PATCH 1/2] push: avoid suggesting "merging" remote changes
builtin/push.c static void setup_default_push_refspecs(struct remote *remote) · line 215
Quoted 6 lines · John Keeping
static const char message_advice_pull_before_push[] =
builtin/push.c +2
-2N_ ("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.
Signature · 2 lines
Matthieu Moy http://www-verimag.imag.fr/~moy/
Re: [PATCH 1/2] push: avoid suggesting "merging" remote changes
Quoted 11 lines · Matthieu Moy
builtin/push.c static void setup_default_push_refspecs(struct remote *remote) · line 215
Quoted 6 lines · John Keeping
static const char message_advice_pull_before_push[] =
builtin/push.c +2
-2N_ ("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.
Quoted 3 lines
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.
PATCH 2/2 pull: change the description to "integrate" changes
In reply to John KeepingSince 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.
--- Documentation/git-pull.txt | 2 +- git-pull.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
Documentation/git-pull.txt +1 -1
@@ -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
git-pull.sh +1 -1
@@ -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
Signature · 1 line
1.8.3.2.855.gbc9faed