submodule: additional regression tests for relative URLs
[gitweb.git] / git-parse-remote.sh
index 91688792a2eb28d6f6a84fae81f1ae390bd49b45..484b2e61ccd6df166a8d6447556ccca4236840ad 100644 (file)
@@ -6,7 +6,7 @@ GIT_DIR=$(git rev-parse -q --git-dir) || :;
 
 get_default_remote () {
        curr_branch=$(git symbolic-ref -q HEAD)
-       curr_branch="${cur_branch#refs/heads/}"
+       curr_branch="${curr_branch#refs/heads/}"
        origin=$(git config --get "branch.$curr_branch.remote")
        echo ${origin:-origin}
 }
@@ -50,3 +50,38 @@ get_remote_merge_branch () {
            esac
        esac
 }
+
+error_on_missing_default_upstream () {
+       cmd="$1"
+       op_type="$2"
+       op_prep="$3"
+       example="$4"
+       branch_name=$(git symbolic-ref -q HEAD)
+       # If there's only one remote, use that in the suggestion
+       remote="<remote>"
+       if test $(git remote | wc -l) = 1
+       then
+               remote=$(git remote)
+       fi
+
+       if test -z "$branch_name"
+       then
+               echo "You are not currently on a branch. Please specify which
+branch you want to $op_type $op_prep. See git-${cmd}(1) for details.
+
+    $example
+"
+       else
+               echo "There is no tracking information for the current branch.
+Please specify which branch you want to $op_type $op_prep.
+See git-${cmd}(1) for details
+
+    $example
+
+If you wish to set tracking information for this branch you can do so with:
+
+    git branch --set-upstream ${branch_name#refs/heads/} $remote/<branch>
+"
+       fi
+       exit 1
+}