Re: Running 'git pull' from an unnamed branch
- From
Markus Heidelberg <markus.heidelberg@web.de>
- Date
- Apr 5, 2009, 22:28 UTC
- Message-ID
- <200904060028.03542.markus.heidelberg@web.de>
- In-Reply-To
- <3f4fd2640904051515x797e10b5ia20543f207084a60@mail.gmail.com>
Reece Dunn, 06.04.2009:
Show 12 quoted lines
> 2009/4/5 Markus Heidelberg <markus.heidelberg@web.de>: > > Reece Dunn, 05.04.2009: > >> + echo "You may not be on a branch. In this case, you need to move" > >> + echo "onto the branch you want to pull to (usually master):" > >> + echo " git checkout <branch>" > >> + echo > > > > Not being on a branch is not the general case when you receive this > > message. Maybe determining if you are not on a branch and adjusting the > > message acordingly is an option. > > So, something like:
Show 54 quoted lines
> git-pull.sh | 40 +++++++++++++++++++++++-----------------
> 1 files changed, 23 insertions(+), 17 deletions(-)
>
> diff --git a/git-pull.sh b/git-pull.sh
> index 8a26763..f263c04 100755
> --- a/git-pull.sh
> +++ b/git-pull.sh
> @@ -90,23 +90,29 @@ error_on_no_merge_candidates () {
>
> curr_branch=${curr_branch#refs/heads/}
>
> - echo "You asked me to pull without telling me which branch you"
> - echo "want to merge with, and 'branch.${curr_branch}.merge' in"
> - echo "your configuration file does not tell me either. Please"
> - echo "name which branch you want to merge on the command line and"
> - echo "try again (e.g. 'git pull <repository> <refspec>')."
> - echo "See git-pull(1) for details on the refspec."
> - echo
> - echo "If you often merge with the same branch, you may want to"
> - echo "configure the following variables in your configuration"
> - echo "file:"
> - echo
> - echo " branch.${curr_branch}.remote = <nickname>"
> - echo " branch.${curr_branch}.merge = <remote-ref>"
> - echo " remote.<nickname>.url = <url>"
> - echo " remote.<nickname>.fetch = <refspec>"
> - echo
> - echo "See git-config(1) for details."
> + if [ -n "$curr_branch" ]; then
> + echo "You asked me to pull without telling me which branch you"
> + echo "want to merge with, and 'branch.${curr_branch}.merge' in"
> + echo "your configuration file does not tell me either. Please"
> + echo "name which branch you want to merge on the command line"
> + echo "and try again (e.g. 'git pull <repository> <refspec>')."
> + echo "See git-pull(1) for details on the refspec."
> + echo
> + echo "If you often merge with the same branch, you may want to"
> + echo "configure the following variables in your configuration"
> + echo "file:"
> + echo
> + echo " branch.${curr_branch}.remote = <nickname>"
> + echo " branch.${curr_branch}.merge = <remote-ref>"
> + echo " remote.<nickname>.url = <url>"
> + echo " remote.<nickname>.fetch = <refspec>"
> + echo
> + echo "See git-config(1) for details."
> + else
> + echo "You may not be on a branch. In this case, you need to"
> + echo "move to the branch you want to pull to (usually master):"
> + echo " git checkout <branch>"
> + fi
> exit 1
> }
> Yes, on something like this I thought, but the proposed solution is not the right thing to do, see the response from Björn.
Maybe something like "You are not on a branch, so there cannot be a configuration for git-pull. You have to explicitly tell the repository and refspec." or so.
Markus