From a9f9f8cc1f59104257eb1a11a2d048f54dd92ee6 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Thu, 21 May 2015 00:45:28 -0400 Subject: 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 Signed-off-by: Junio C Hamano --- remote.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'remote.h') 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, -- cgit v1.2.1