From: Derrick Stolee Date: Fri, 10 May 2019 12:10:49 GMT Subject: Re: [PATCH 03/14] builtin: consistently pass cmd_* prefix to parse_options 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: > 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