repository: enable SHA-256 support by default
Now that we have a complete SHA-256 implementation in Git, let's enable it so people can use it. Remove the ENABLE_SHA256 define constant everywhere it's used. Add tests for initializing a repository with SHA-256. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Reviewed-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
							parent
							
								
									b5b46d7973
								
							
						
					
					
						commit
						eff45daab8
					
				|  | @ -183,11 +183,6 @@ void initialize_repository_version(int hash_algo) | |||
| 	char repo_version_string[10]; | ||||
| 	int repo_version = GIT_REPO_VERSION; | ||||
|  | ||||
| #ifndef ENABLE_SHA256 | ||||
| 	if (hash_algo != GIT_HASH_SHA1) | ||||
| 		die(_("The hash algorithm %s is not supported in this build."), hash_algos[hash_algo].name); | ||||
| #endif | ||||
|  | ||||
| 	if (hash_algo != GIT_HASH_SHA1) | ||||
| 		repo_version = GIT_REPO_VERSION_READ; | ||||
|  | ||||
|  |  | |||
|  | @ -16,8 +16,6 @@ DEVELOPER_CFLAGS += -Wstrict-prototypes | |||
| DEVELOPER_CFLAGS += -Wunused | ||||
| DEVELOPER_CFLAGS += -Wvla | ||||
|  | ||||
| DEVELOPER_CFLAGS += -DENABLE_SHA256 | ||||
|  | ||||
| ifndef COMPILER_FEATURES | ||||
| COMPILER_FEATURES := $(shell ./detect-compiler $(CC)) | ||||
| endif | ||||
|  |  | |||
|  | @ -89,10 +89,6 @@ void repo_set_gitdir(struct repository *repo, | |||
| void repo_set_hash_algo(struct repository *repo, int hash_algo) | ||||
| { | ||||
| 	repo->hash_algo = &hash_algos[hash_algo]; | ||||
| #ifndef ENABLE_SHA256 | ||||
| 	if (hash_algo != GIT_HASH_SHA1) | ||||
| 		die(_("The hash algorithm %s is not supported in this build."), repo->hash_algo->name); | ||||
| #endif | ||||
| } | ||||
|  | ||||
| /* | ||||
|  |  | |||
|  | @ -441,6 +441,39 @@ test_expect_success 're-init from a linked worktree' ' | |||
| 	) | ||||
| ' | ||||
|  | ||||
| test_expect_success 'init honors GIT_DEFAULT_HASH' ' | ||||
| 	GIT_DEFAULT_HASH=sha1 git init sha1 && | ||||
| 	git -C sha1 rev-parse --show-object-format >actual && | ||||
| 	echo sha1 >expected && | ||||
| 	test_cmp expected actual && | ||||
| 	GIT_DEFAULT_HASH=sha256 git init sha256 && | ||||
| 	git -C sha256 rev-parse --show-object-format >actual && | ||||
| 	echo sha256 >expected && | ||||
| 	test_cmp expected actual | ||||
| ' | ||||
|  | ||||
| test_expect_success 'init honors --object-format' ' | ||||
| 	git init --object-format=sha1 explicit-sha1 && | ||||
| 	git -C explicit-sha1 rev-parse --show-object-format >actual && | ||||
| 	echo sha1 >expected && | ||||
| 	test_cmp expected actual && | ||||
| 	git init --object-format=sha256 explicit-sha256 && | ||||
| 	git -C explicit-sha256 rev-parse --show-object-format >actual && | ||||
| 	echo sha256 >expected && | ||||
| 	test_cmp expected actual | ||||
| ' | ||||
|  | ||||
| test_expect_success 'extensions.objectFormat is not allowed with repo version 0' ' | ||||
| 	git init --object-format=sha256 explicit-v0 && | ||||
| 	git -C explicit-v0 config core.repositoryformatversion 0 && | ||||
| 	test_must_fail git -C explicit-v0 rev-parse --show-object-format | ||||
| ' | ||||
|  | ||||
| test_expect_success 'init rejects attempts to initialize with different hash' ' | ||||
| 	test_must_fail git -C sha1 init --object-format=sha256 && | ||||
| 	test_must_fail git -C sha256 init --object-format=sha1 | ||||
| ' | ||||
|  | ||||
| test_expect_success MINGW 'core.hidedotfiles = false' ' | ||||
| 	git config --global core.hidedotfiles false && | ||||
| 	rm -rf newdir && | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 brian m. carlson
						brian m. carlson