aboutsummaryrefslogtreecommitdiff
path: root/remote.h
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2015-05-21 00:45:28 -0400
committerJunio C Hamano <gitster@pobox.com>2015-05-21 11:04:42 -0700
commita9f9f8cc1f59104257eb1a11a2d048f54dd92ee6 (patch)
tree2d9d48360152e6090d6c6ebf7591017cb7709083 /remote.h
parent8770e6fbb28dffdf9e00d05365120e438d3d236f (diff)
downloadgit-a9f9f8cc1f59104257eb1a11a2d048f54dd92ee6.tar.gz
git-a9f9f8cc1f59104257eb1a11a2d048f54dd92ee6.tar.xz
remote.c: introduce branch_get_upstream helper
All of the information needed to find the @{upstream} of a branch is included in the branch struct, but callers have to navigate a series of possible-NULL values to get there. Let's wrap that logic up in an easy-to-read helper. 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.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/remote.h b/remote.h
index 30a11dac1..d96895282 100644
--- a/remote.h
+++ b/remote.h
@@ -218,6 +218,13 @@ const char *pushremote_for_branch(struct branch *branch, int *explicit);
int branch_has_merge_config(struct branch *branch);
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.
+ */
+const char *branch_get_upstream(struct branch *branch);
+
/* Flags to match_refs. */
enum match_refs_flags {
MATCH_REFS_NONE = 0,