-#!/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.
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
+}