Re: [PATCH] builtin/clone: avoid failure with GIT_DEFAULT_HASH
- From
brian m. carlson <sandals@crustytoothpaste.net>
- Date
- Sep 12, 2020, 19:52 UTC
- Message-ID
- <20200912195256.GN241078@camp.crustytoothpaste.net>
- In-Reply-To
- <20200912032448.GB1988@nand.local>
On 2020-09-12 at 03:24:48, Taylor Blau wrote:
Show 11 quoted lines
> On Fri, Sep 11, 2020 at 11:38:15PM +0000, brian m. carlson wrote: > > -void initialize_repository_version(int hash_algo); > > +void initialize_repository_version(int hash_algo, int reinit); > > I'm not a huge fan of adding a 'reinit' parameter to a function that > itself begins with the word 'initialize' (why wouldn't you call > 'reinitialize_repository_version()' instead?), but seeing as there are > only a couple of callers, maybe it is OK. > > Alternatively, I certainly wouldn't complain if you did introduce a new > function and updated the call-site that passes reinit as 1.
I thought about introducing a new function, but since it would share almost all of the code, it seemed a bit wasteful, even if the function is small. We do have only two callers, I believe, since I recall making this function non-static and calling it from clone, so I think it's okay.
Show 13 quoted lines
> > +test_expect_success 'clone with GIT_DEFAULT_HASH' ' > > + ( > > + sane_unset GIT_DEFAULT_HASH && > > + git init test > > + ) && > > + test_commit -C test foo && > > + git clone test test-clone && > > + git -C test-clone status > > +' > > + > > This test looks very reasonable, and certainly demonstrates the bug and > fix. Thanks.
This is essentially Matheus's testcase. I considered using env -u to avoid the subshell but POSIX doesn't specify that, so we have a subshell.
-- brian m. carlson: Houston, Texas, US