Web lists-archives.com

Re: [PATCH v2 2/3] for-each-ref: let upstream/push optionally remote ref name




Johannes Schindelin <johannes.schindelin@xxxxxx> writes:

> Subject: Re: [PATCH v2 2/3] for-each-ref: let upstream/push optionally remote ref name

No verb?  s/optionally/report/ perhaps?

> diff --git a/ref-filter.c b/ref-filter.c
> index 4819707d032..b4b2c9b2190 100644
> --- a/ref-filter.c
> +++ b/ref-filter.c
> @@ -77,7 +77,7 @@ static struct used_atom {
>  		struct align align;
>  		struct {
>  			enum {
> -				RR_REF, RR_TRACK, RR_TRACKSHORT, RR_REMOTE_NAME
> +				RR_REF, RR_TRACK, RR_TRACKSHORT, RR_REMOTE_NAME, RR_REMOTE_REF
>  			} option;
>  			struct refname_atom refname;
>  			unsigned int nobracket : 1, push : 1, push_remote : 1;
> @@ -164,6 +164,9 @@ static void remote_ref_atom_parser(const struct ref_format *format, struct used_
>  		else if (!strcmp(s, "remotename")) {
>  			atom->u.remote_ref.option = RR_REMOTE_NAME;
>  			atom->u.remote_ref.push_remote = 1;
> +		} else if (!strcmp(s, "remoteref")) {
> +			atom->u.remote_ref.option = RR_REMOTE_REF;
> +			atom->u.remote_ref.push_remote = 1;
>  		} else {
>  			atom->u.remote_ref.option = RR_REF;
>  			refname_atom_parser_internal(&atom->u.remote_ref.refname,
> @@ -1262,6 +1265,14 @@ static void fill_remote_ref_details(struct used_atom *atom, const char *refname,
>  			*s = xstrdup(remote);
>  		else
>  			*s = "";
> +	} else if (atom->u.remote_ref.option == RR_REMOTE_REF) {
> +		int explicit, for_push = starts_with(atom->name, "push");

Hmph, the previous step got rid of starts_with() rather nicely by
introducing atom->u.remote_ref.push bit; can't we do the same in
this step?

Other than that, looks nicer.

Thanks.