summaryrefslogtreecommitdiff
path: root/remote.h
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2015-05-21 04:45:32 (GMT)
committerJunio C Hamano <gitster@pobox.com>2015-05-21 18:07:46 (GMT)
commit3a429d0af342d85ef6d561e3a60ae8793a34ae78 (patch)
treeb3571b0a39fa421440f5ff862ef4f8b270fb9bc8 /remote.h
parenta9f9f8cc1f59104257eb1a11a2d048f54dd92ee6 (diff)
downloadgit-3a429d0af342d85ef6d561e3a60ae8793a34ae78.zip
git-3a429d0af342d85ef6d561e3a60ae8793a34ae78.tar.gz
git-3a429d0af342d85ef6d561e3a60ae8793a34ae78.tar.bz2
remote.c: report specific errors from branch_get_upstream
When the previous commit introduced the branch_get_upstream helper, there was one call-site that could not be converted: the one in sha1_name.c, which gives detailed error messages for each possible failure. Let's teach the helper to optionally report these specific errors. This lets us convert another callsite, and means we can use the helper in other locations that want to give the same error messages. The logic and error messages come straight from sha1_name.c, with the exception that we start each error with a lowercase letter, as is our usual style (note that a few tests need updated as a result). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'remote.h')
-rw-r--r--remote.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/remote.h b/remote.h
index d968952..03ca005 100644
--- a/remote.h
+++ b/remote.h
@@ -222,8 +222,12 @@ int branch_merge_matches(struct branch *, int n, const char *);
* Return the fully-qualified refname of the tracking branch for `branch`.
* I.e., what "branch@{upstream}" would give you. Returns NULL if no
* upstream is defined.
+ *
+ * If `err` is not NULL and no upstream is defined, a more specific error
+ * message is recorded there (if the function does not return NULL, then
+ * `err` is not touched).
*/
-const char *branch_get_upstream(struct branch *branch);
+const char *branch_get_upstream(struct branch *branch, struct strbuf *err);
/* Flags to match_refs. */
enum match_refs_flags {