Re: [PATCH 03/14] builtin: consistently pass cmd_* prefix to parse_options
- From
Derrick Stolee <stolee@gmail.com>
- Date
- May 10, 2019, 12:10 UTC
- Message-ID
- <3851512b-9957-8e77-f4f7-3a859f808676@gmail.com>
- In-Reply-To
- <20190509212850.GC15837@sigill.intra.peff.net>
On 5/9/2019 5:28 PM, Jeff King wrote:
Show 17 quoted lines
> 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 RUN_SETUP.
Thanks, -Stolee