i18n: unpack-trees: avoid substituting only a verb in sentences
[gitweb.git] / git-parse-remote.sh
index ea093d251d98af6a3d4df19e900d56df34d51572..d3c39980f3fe2c346e4264d4b99a49acf7140301 100644 (file)
@@ -1,4 +1,6 @@
-#!/bin/sh
+# This is a shell library to calculate the remote repository and
+# upstream branch that should be pulled by "git pull" from the current
+# branch.
 
 # git-ls-remote could be called from outside a git managed repository;
 # this would fail in that case and would issue an error message.
@@ -50,3 +52,50 @@ get_remote_merge_branch () {
            esac
        esac
 }
+
+error_on_missing_default_upstream () {
+       cmd="$1"
+       op_type="$2"
+       op_prep="$3" # FIXME: op_prep is no longer used
+       example="$4"
+       branch_name=$(git symbolic-ref -q HEAD)
+       display_branch_name="${branch_name#refs/heads/}"
+       # If there's only one remote, use that in the suggestion
+       remote="$(gettext "<remote>")"
+       branch="$(gettext "<branch>")"
+       if test $(git remote | wc -l) = 1
+       then
+               remote=$(git remote)
+       fi
+
+       if test -z "$branch_name"
+       then
+               gettextln "You are not currently on a branch."
+       else
+               gettextln "There is no tracking information for the current branch."
+       fi
+       case "$op_type" in
+       rebase)
+               gettextln "Please specify which branch you want to rebase against."
+               ;;
+       merge)
+               gettextln "Please specify which branch you want to merge with."
+               ;;
+       *)
+               echo >&2 "BUG: unknown operation type: $op_type"
+               exit 1
+               ;;
+       esac
+       eval_gettextln "See git-\${cmd}(1) for details."
+       echo
+       echo "    $example"
+       echo
+       if test -n "$branch_name"
+       then
+               gettextln "If you wish to set tracking information for this branch you can do so with:"
+               echo
+               echo "    git branch --set-upstream-to=$remote/$branch $display_branch_name"
+               echo
+       fi
+       exit 1
+}