Subject: Re: [GSOC PATCH v2 2/2] builtin/prune: stop depending on 'the_repository'

From: Patrick Steinhardt <[email-masked]>
Date: Wed, 2 Jul 2025 04:23:40 +0200

On Tue, Jul 01, 2025 at 11:39:48PM +0530, Ayush Chandekar wrote:
> On Tue, Jul 1, 2025 at 10:12 PM Junio C Hamano <[email-masked]> wrote:
> >
> > Patrick Steinhardt <[email-masked]> writes:
> >
> > > On Mon, Jun 30, 2025 at 10:11:05PM +0530, Ayush Chandekar wrote:
> > >> @@ -173,20 +171,19 @@ int cmd_prune(int argc,
> > >>      expire = TIME_MAX;
> > >>      save_commit_buffer = 0;
> > >>      disable_replace_refs();
> > >> -    repo_init_revisions(the_repository, &revs, prefix);
> > >> +    repo_init_revisions(repo, &revs, prefix);
> > >
> > > Does this work correctly when running outside of a repository? In
> > > general `cmd_prune()` is not executed and would instead die as it is
> > > declared as `RUN_SETUP`, without the `_GENTLY` suffix. But when the user
> > > asks for help we may still execute the function with a NULL pointer.
> >
> > Good eyes.  "git prune -h" would safely exit in parse_options() in
> > such a case, but this part happens before the parse_options() call.
> >
> 
> Thanks for pointing that out, Patrick. Right now, `parse_options()` is
> called just after the `repo_init_revisions()`. I can move the call to
> it before this.
> 
> Although when I tried running "git prune -h", it still gave me the
> expected output.

Well, as long as it works and as long as we have a test somewhere that
ensures it keeps working I'm happy.

Patrick