Re: [PATCH 5/8] revert: allow cherry-picking more than one commit
- From
Christian Couder <chriscool@tuxfamily.org>
- Date
- Jun 2, 2010, 05:57 UTC
- Message-ID
- <201006020757.01726.chriscool@tuxfamily.org>
- In-Reply-To
- <20100601090317.GB32320@progeny.tock>
On Tuesday 01 June 2010 11:03:17 Jonathan Nieder wrote:
Show 32 quoted lines
> Christian Couder wrote:
> > --- a/builtin/revert.c
> > +++ b/builtin/revert.c
> > @@ -520,8 +516,33 @@ static int do_pick_commit()
> > return 0;
> > }
> >
> > +static void prepare_revs(struct rev_info *revs)
> > +{
> > + int argc = 0;
> > + int i;
> > + const char **argv = xmalloc((commit_argc + 4) * sizeof(*argv));
> > +
> > + argv[argc++] = NULL;
> > + argv[argc++] = "--no-walk";
> > + if (action != REVERT)
> > + argv[argc++] = "--reverse";
> > + for (i = 0; i < commit_argc; i++)
> > + argv[argc++] = commit_argv[i];
> > + argv[argc++] = NULL;
> > +
> > + init_revisions(revs, NULL);
> > + setup_revisions(argc - 1, argv, revs, NULL);
> > + if (prepare_revision_walk(revs))
> > + die("revision walk setup failed");
> > +
> > + if (!revs->commits)
> > + die("empty commit set passed");
> > +}
>
> Tiny one-time leak. Maybe avoiding it will make debugging tools
> happier.I added a "free(argv)".
Thanks, Christian.