Re: [PATCH 03/14] builtin: consistently pass cmd_* prefix to parse_options
- Date: Fri, 10 May 2019 08:10:49 -0400
- From: Derrick Stolee <stolee@xxxxxxxxx>
- Subject: Re: [PATCH 03/14] builtin: consistently pass cmd_* prefix to parse_options
On 5/9/2019 5:28 PM, Jeff King wrote:
> If a builtin uses RUN_SETUP to request that git.c enter the repository
> directory, we'll get passed in a "prefix" variable with the path to the
> original directory. It's important to pass this to parse_options(),
> since we may use it to fix up relative OPT_FILENAME() options. Some
> builtins don't bother; let's make sure we do so consistently.
> There may not be any particular bugs fixed here; OPT_FILENAME is
> actually pretty rare, and none of these commands use it directly.
> However, this does future-proof us against somebody adding an option
> that uses it and creating a subtle bug that only shows up when you're in
> a subdirectory of the repository.
> In some cases, like hash-object and upload-pack, we don't specify
> RUN_SETUP, so we know the prefix will always be empty. It's still worth
> passing the variable along to keep the idiom consistent across all
> builtins (and of course it protects us if they ever _did_ switch to
> using RUN_SETUP).
Good explanation that we _should_ be using these parameters. Forgetting
to add these prefix uses would probably not be obvious if a patch added