Re: [PATCH 1/2] branch.c: remove explicit reference to the_repository
- From
Duy Nguyen <pclouds@gmail.com>
- Date
- Aug 15, 2018, 17:43 UTC
- Message-ID
- <CACsJy8CE+TsE3kS+VCvxKGg6zHaDttTw+izkgveJ8qW=tSpTWA@mail.gmail.com>
- In-Reply-To
- <xmqqh8jvil8n.fsf@gitster-ct.c.googlers.com>
On Wed, Aug 15, 2018 at 7:38 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 18 quoted lines
> > Duy Nguyen <pclouds@gmail.com> writes: > > >> 4) eventually (in the very long run), we'd change the signature of > >> all commands from cmd_foo(int argc, char argv, char *prefix) > >> to cmd_foo(int argc, char argv, struct repository *repo) > >> > >> you seem to be interested in removing the_repository from branch.c, > >> but not as much from bultin/ for now, which is roughly step 2 in that plan? > > > > Yes. Though I think step 4 is to make setup_git_directory() and > > enter_repo() return a 'struct repository *'. This means if you have > > not called either function and not take the repo as an argument, you > > do not have access to any repository. > > That part is understandable if somewhat hand-wavy, but it is not > clear how you can lose the prefix and still keep things like > OPT_FILENAME() working correctly.
I haven't worked it all out yet, but I think setup_git_directory() could still return it either as a separate argument or inside 'struct repository'. Then parse_options() still takes the prefix like now, or take the struct repository (the latter may be better because there's also other option callbacks that need struct repo).
-- Duy