Re: Design of multiple hash support
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Nov 5, 2018, 22:00 UTC
- Message-ID
- <20181105220042.GA162375@google.com>
- In-Reply-To
- <CACsJy8B+WAyjrthKs9nr=kLpx7f8k_Dug4rRdYDoBR+mmLHCuQ@mail.gmail.com>
Hi,
Duy Nguyen wrote:
> On Mon, Nov 5, 2018 at 2:02 AM brian m. carlson > <sandals@crustytoothpaste.net> wrote:
Show 12 quoted lines
>> There are basically two approaches I can take. The first is to provide >> each command that needs to learn about this with its own --hash >> argument. So we'd have: >> >> git init --hash=sha256 >> git show-index --hash=sha256 <some-file >> >> The other alternative is that we provide a global option to git, which >> is parsed by all programs, like so: >> >> git --hash=sha256 init >> git --hash=sha256 show-index <some-file
[...]
> I'm leaning towards "git foo --hash=".
Can you say a little more about the semantics of the option? For commands like "git init", I tend to agree with Duy here, since it allows each command's manual to describe what the option means in the context of that command.
For "git show-index", ideally Git should use the object format named in the idx file.
>> There's also the question of what we want to call the option. The >> obvious name is --hash, which is intuitive and straightforward. >> However, the transition plan names the config option >> extensions.objectFormat,
[...]
> --object-format is less vague than --hash. The downside is it's longer > (more to type) but I'm counting on git-completion.bash and the guess > that people rarely need to use this option.
Agreed. --object-format makes more sense to me than --hash, since it's more precise about what the option affects.
Thanks for looking into this.
Sincerely, Jonathan