Re: Design of multiple hash support
- Date: Mon, 5 Nov 2018 14:00:42 -0800
- From: Jonathan Nieder <jrnieder@xxxxxxxxx>
- Subject: Re: Design of multiple hash support
Duy Nguyen wrote:
> On Mon, Nov 5, 2018 at 2:02 AM brian m. carlson
> <sandals@xxxxxxxxxxxxxxxxxxxx> wrote:
>> 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
> --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.