Re: [PATCH 4/4] Make git-pull give hints on what to do when there is no branch to merge from
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:43:35
Federico Mena Quintero [off-list ref] writes:
quoted hunk
Signed-off-by: Federico Mena Quintero <redacted> --- git-pull.sh | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)diff --git a/git-pull.sh b/git-pull.sh index 5e96d1f..7beef4d 100755 --- a/git-pull.sh +++ b/git-pull.sh@@ -98,7 +98,11 @@ case "$merge_head" in curr_branch=${curr_branch#refs/heads/} echo >&2 "Warning: No merge candidate found because value of config option - \"branch.${curr_branch}.merge\" does not match any remote branch fetched." + \"branch.${curr_branch}.merge\" does not match any remote branch fetched. + This branch is not set up to track any other branches. Please name which + branch you want to merge from on the command line, or if you almost always + want to merge from the same branch, then set this up with + \"git branch --track\"."
This is a nice attempt, but can you use "git branch --track" to
set this? What does the command line look like?
This error can come when branch.<foo>.merge does not match what
remote.<bar>.fetch says (where branch.<foo>.remote is <bar>),
but it is my understanding that the builtin-fetch work by Daniel
and Shawn would fetch branch.<foo>.merge as well to reduce this
error. Another possibility is when the user does not have any
branch.<foo>.merge.
I am inclined to suggest rewording the message like this, and
make this condition an error (i.e. "exit 1"):
You asked me to pull without telling me which branch you
want to merge with, and 'branch.${curr_branch}.merge' in
your configuration file does not tell me either. Please
name which branch you want to merge on the command line and
try again.
If you often merge with the same branch, you may want to
configure the following variables in your configuration
file:
branch.${curr_branch}.remote = <nickname>
branch.${curr_branch}.merge = <remote-ref>
remote.<nickname>.url = <url>
remote.<nickname>.fetch = <refspec>
See git-config(1) for details.