On 2023-04-05 at 21:15:33, Junio C Hamano wrote: > Junio C Hamano writes: > ----- >8 ----- > Subject: [PATCH] clone: propagate object-format when cloning from void > > A user could prepare an empty repository and set it to use SHA256 as > the object format. The new repository created by "git clone" from > such a repository however would not record that it is expecting > objects in the same SHA256 format. This works as expected if the > source repository is not empty. > > Just like we started copying the name of the primary branch from the > remote repository even if it is unborn in 3d8314f8 (clone: propagate > empty remote HEAD even with other branches, 2022-07-07), lift the > code that records the object format out of the block executed only > when cloning from an instantiated repository, so that it works also > when cloning from an empty repository. > > Signed-off-by: Junio C Hamano So it looks like this has made it into master and works for v2 but breaks things for v0 and v1. I noticed because the Git LFS testsuite is broken and the following test demonstrates it: ----- %< ----- diff --git a/t/t5700-protocol-v1.sh b/t/t5700-protocol-v1.sh index 6c8d4c6cf1..3be5057579 100755 --- a/t/t5700-protocol-v1.sh +++ b/t/t5700-protocol-v1.sh @@ -244,6 +244,17 @@ test_expect_success 'push with ssh:// using protocol v1' ' grep "push< version 1" log ' +test_expect_success 'clone propagates object-format from empty repo' ' + test_when_finished "rm -fr src256 dst256" && + + echo sha256 >expect && + git init --object-format=sha256 src256 && + git clone src256 dst256 && + git -C dst256 rev-parse --show-object-format >actual && + + test_cmp expect actual +' + # Test protocol v1 with 'http://' transport # . "$TEST_DIRECTORY"/lib-httpd.sh ----- %< ----- If nobody looks at this, I'll take a look tomorrow and hopefully send a patch. I just wanted to point this out to the list right away in the interest of getting it noticed. -- brian m. carlson (he/him or they/them) Toronto, Ontario, CA