Check for sha256 support to use --object-format flag (#28928)

This should fix https://github.com/go-gitea/gitea/issues/28927

Technically older versions of Git would support this flag as well, but
per https://github.com/go-gitea/gitea/pull/28466 that's the version
where using it (object-format=sha256) left "experimental" state.

`sha1` is (currently) the default, so older clients should be unaffected
in either case.

Signed-off-by: jolheiser <john.olheiser@gmail.com>
This commit is contained in:
John Olheiser 2024-01-25 12:04:50 -06:00 committed by GitHub
parent 3084c990b0
commit 76bbad4e74
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -101,7 +101,9 @@ func InitRepository(ctx context.Context, repoPath string, bare bool, objectForma
if !IsValidObjectFormat(objectFormatName) { if !IsValidObjectFormat(objectFormatName) {
return fmt.Errorf("invalid object format: %s", objectFormatName) return fmt.Errorf("invalid object format: %s", objectFormatName)
} }
cmd.AddOptionValues("--object-format", objectFormatName) if SupportHashSha256 {
cmd.AddOptionValues("--object-format", objectFormatName)
}
if bare { if bare {
cmd.AddArguments("--bare") cmd.AddArguments("--bare")