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.