Skip to content

Commit ea39808

Browse files
shreyp135gitster
authored andcommitted
show-index: warn when falling back to SHA-1 outside a repository
When 'git show-index' is run outside of a repository and no hashing algorithm is specified via --object-format, it silently falls back to SHA-1, relying on the historical default. This works for existing SHA-1 based index files, but the behavior can be ambiguous and confusing when the input index file uses a different hash algorithm, such as SHA-256. Add a warning when this fallback happens to make the assumption explicit and to guide users toward using --object-format when needed. Signed-off-by: Shreyansh Paliwal <shreyanshpaliwalcmsmn@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent ea71764 commit ea39808

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

builtin/show-index.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,14 @@ int cmd_show_index(int argc,
4343
/*
4444
* Fallback to SHA1 if we are running outside of a repository.
4545
*
46-
* TODO: Figure out and implement a way to detect the hash algorithm in use by the
47-
* the index file passed in and use that instead.
46+
* TODO: If a future implementation of index file version encodes the hash
47+
* algorithm in its header, enable show-index to infer it from the
48+
* header rather than relying on repository context or a default fallback.
4849
*/
49-
if (!the_hash_algo)
50+
if (!the_hash_algo) {
51+
warning(_("assuming SHA-1; use --object-format to override"));
5052
repo_set_hash_algo(the_repository, GIT_HASH_DEFAULT);
53+
}
5154

5255
hashsz = the_hash_algo->rawsz;
5356

0 commit comments

Comments
 (0)