Re: [PATCH 1/2] remote: pass repository to push tracking helper

Junio C Hamano <[email protected]>
Newsgroups org.kernel.vger.git
Message-ID <[email protected]>
"Harald Nordgren via GitGitGadget" <[email protected]> writes:

> From: Harald Nordgren <[email protected]>
>
> The push tracking helper currently only needs the push remote. However,
> resolving a URL-valued remote requires access to the repository's list
> of configured remotes.

It is unclear to me what 'resolving a URL-valued remote' means.
Could you describe what you are trying to achieve, without relying
on unexplained terms like 'to resolve' and 'URL-valued remote',
which seem to carry specialized meanings in this context?

Thanks.

> Pass the repository through the existing callers and mark the parameter
> as unused for now. This prepares the helper for that lookup without
> changing its behavior.
>
> Signed-off-by: Harald Nordgren <[email protected]>
> ---
>  remote.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/remote.c b/remote.c
> index e6c52c850c..89d0f9e2d8 100644
> --- a/remote.c
> +++ b/remote.c
> @@ -1887,7 +1887,8 @@ const char *branch_get_upstream(struct branch *branch, struct strbuf *err)
>  	return branch->merge[0]->dst;
>  }
>  
> -static char *tracking_for_push_dest(struct remote *remote,
> +static char *tracking_for_push_dest(struct repository *repo UNUSED,
> +				    struct remote *remote,
>  				    const char *refname,
>  				    struct strbuf *err)
>  {
> @@ -1925,13 +1926,13 @@ static char *branch_get_push_1(struct repository *repo,
>  					 _("push refspecs for '%s' do not include '%s'"),
>  					 remote->name, branch->name);
>  
> -		ret = tracking_for_push_dest(remote, dst, err);
> +		ret = tracking_for_push_dest(repo, remote, dst, err);
>  		free(dst);
>  		return ret;
>  	}
>  
>  	if (remote->mirror)
> -		return tracking_for_push_dest(remote, branch->refname, err);
> +		return tracking_for_push_dest(repo, remote, branch->refname, err);
>  
>  	switch (push_default) {
>  	case PUSH_DEFAULT_NOTHING:
> @@ -1939,7 +1940,7 @@ static char *branch_get_push_1(struct repository *repo,
>  
>  	case PUSH_DEFAULT_MATCHING:
>  	case PUSH_DEFAULT_CURRENT:
> -		return tracking_for_push_dest(remote, branch->refname, err);
> +		return tracking_for_push_dest(repo, remote, branch->refname, err);
>  
>  	case PUSH_DEFAULT_UPSTREAM:
>  		return xstrdup_or_null(branch_get_upstream(branch, err));
> @@ -1953,7 +1954,7 @@ static char *branch_get_push_1(struct repository *repo,
>  			up = branch_get_upstream(branch, err);
>  			if (!up)
>  				return NULL;
> -			cur = tracking_for_push_dest(remote, branch->refname, err);
> +			cur = tracking_for_push_dest(repo, remote, branch->refname, err);
>  			if (!cur)
>  				return NULL;
>  			if (strcmp(cur, up)) {
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.