Be more specific if upstream branch is not tracked
[gitweb.git] / sha1_name.c
index e2d576ad7b86f967e4986dd7792e8d6e18a80350..361708b7bb229ff53eb166b9cefc220fe0eedcc5 100644 (file)
@@ -865,7 +865,12 @@ int interpret_branch_name(const char *name, struct strbuf *buf)
        if (!upstream->merge || !upstream->merge[0]->dst) {
                if (!ref_exists(upstream->refname))
                        return error("No such branch: '%s'", cp);
-               return error("No upstream branch found for '%s'", upstream->name);
+               if (!upstream->merge)
+                       return error("No upstream configured for branch '%s'",
+                                    upstream->name);
+               return error(
+                       "Upstream branch '%s' not stored as a remote-tracking branch",
+                       upstream->merge[0]->src);
        }
        free(cp);
        cp = shorten_unambiguous_ref(upstream->merge[0]->dst, 0);