"brian m. carlson" <sandals@xxxxxxxxxxxxxxxxxxxx> writes: > `GIT_DEFAULT_HASH`:: > If this variable is set, the default hash algorithm for new > repositories will be set to this value. This value is currently > + ignored when cloning if the remote value can be definitively > + determined; the setting of the remote repository is used > + instead. The value is honored if the remote repository's > + algorithm cannot be determined, such as some cases when > + the remote repository is empty. The default is "sha1". > + THIS VARIABLE IS EXPERIMENTAL! See `--object-format` > + in linkgit:git-init[1]. We'd need to evantually cover all the transports (and non-transport like the "--local" optimization) so that the object-format and other choices are communicated from the origin to a new clone anyway, so this extra complexity "until X is fixed, it behaves this way, but otherwise the variable is read in the meantime" may be a disservice to the end users, even though it may make it easier in the shorter term for maintainers of programs that rely on the buggy "git clone" that partially honored this environment variable. In short, I am still not convinced that the above is a good design choice in the longer term. Thanks.