remote.c: hoist branch.*.remote lookup out of remote_get_1
We'll want to use this logic as a fallback when looking up the pushremote, so let's pull it out into its own function. We don't technically need to make this available outside of remote.c, but doing so will provide a consistent API with pushremote_for_branch, which we will add later. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
9e3751d443
commit
f052154db3
21
remote.c
21
remote.c
@ -692,6 +692,18 @@ static int valid_remote_nick(const char *name)
|
||||
return !strchr(name, '/'); /* no slash */
|
||||
}
|
||||
|
||||
const char *remote_for_branch(struct branch *branch, int *explicit)
|
||||
{
|
||||
if (branch && branch->remote_name) {
|
||||
if (explicit)
|
||||
*explicit = 1;
|
||||
return branch->remote_name;
|
||||
}
|
||||
if (explicit)
|
||||
*explicit = 0;
|
||||
return "origin";
|
||||
}
|
||||
|
||||
static struct remote *remote_get_1(const char *name, const char *pushremote_name)
|
||||
{
|
||||
struct remote *ret;
|
||||
@ -703,13 +715,8 @@ static struct remote *remote_get_1(const char *name, const char *pushremote_name
|
||||
if (pushremote_name) {
|
||||
name = pushremote_name;
|
||||
name_given = 1;
|
||||
} else {
|
||||
if (current_branch && current_branch->remote_name) {
|
||||
name = current_branch->remote_name;
|
||||
name_given = 1;
|
||||
} else
|
||||
name = "origin";
|
||||
}
|
||||
} else
|
||||
name = remote_for_branch(current_branch, &name_given);
|
||||
}
|
||||
|
||||
ret = make_remote(name, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user