From: Junio C Hamano Date: Mon, 20 Aug 2012 00:41:05 GMT Subject: Re: [PATCH 2/2] for-each-ref: Fix sort with multiple keys Message-ID: <7vfw7io0ny.fsf@alter.siamese.dyndns.org> In-Reply-To: <2b3624458d79a1ec0b1437172437fbd78b3a0537.1345410836.git.draenog@pld-linux.org> Kacper Kornet writes: > The linked list describing sort options was not correctly set up in > opt_parse_sort. In the result, contrary to the documentation. only the > last of multiple --sort options to git-for-each-ref was taken into > account. This commit fixes it. > > Signed-off-by: Kacper Kornet > --- > builtin/for-each-ref.c | 4 +++- > t/t6300-for-each-ref.sh | 2 +- > 2 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/builtin/for-each-ref.c b/builtin/for-each-ref.c > index b01d76a..0c5294e 100644 > --- a/builtin/for-each-ref.c > +++ b/builtin/for-each-ref.c > @@ -962,7 +962,9 @@ static int opt_parse_sort(const struct option *opt, const char *arg, int unset) > if (!arg) /* should --no-sort void the list ? */ > return -1; > > - *sort_tail = s = xcalloc(1, sizeof(*s)); > + s = xcalloc(1, sizeof(*s)); > + s->next = *sort_tail; > + *sort_tail = s; This fix looks correct.