Duy Nguyen <pclouds@xxxxxxxxx> 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.