git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "brian m. carlson" <sandals@crustytoothpaste.net>
To: <git@vger.kernel.org>
Cc: Denton Liu <liu.denton@gmail.com>,
	Derrick Stolee <dstolee@microsoft.com>
Subject: [PATCH v2 32/39] setup: add support for reading extensions.objectformat
Date: Mon, 13 Jul 2020 02:49:02 +0000	[thread overview]
Message-ID: <20200713024909.3714837-33-sandals@crustytoothpaste.net> (raw)
In-Reply-To: <20200713024909.3714837-1-sandals@crustytoothpaste.net>

The transition plan specifies extensions.objectFormat as the indication
that we're using a given hash in a certain repo.  Read this as one of
the extensions we support.  If the user has specified an invalid value,
fail.

Ensure that we don't use the value of the extension if the repository
format version is 0.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
---
 setup.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/setup.c b/setup.c
index dbac2eabe8..4dbfe34c03 100644
--- a/setup.c
+++ b/setup.c
@@ -471,7 +471,16 @@ static int check_repo_format(const char *var, const char *value, void *vdata)
 			data->partial_clone = xstrdup(value);
 		} else if (!strcmp(ext, "worktreeconfig"))
 			data->worktree_config = git_config_bool(var, value);
-		else
+		else if (!strcmp(ext, "objectformat")) {
+			int format;
+
+			if (!value)
+				return config_error_nonbool(var);
+			format = hash_algo_by_name(value);
+			if (format == GIT_HASH_UNKNOWN)
+				return error("invalid value for 'extensions.objectformat'");
+			data->hash_algo = format;
+		} else
 			string_list_append(&data->unknown_extensions, ext);
 	}
 
@@ -515,6 +524,7 @@ static int check_repository_format_gently(const char *gitdir, struct repository_
 		repository_format_precious_objects = 0;
 		set_repository_format_partial_clone(NULL);
 		repository_format_worktree_config = 0;
+		candidate->hash_algo = GIT_HASH_SHA1;
 	}
 	string_list_clear(&candidate->unknown_extensions, 0);
 

  parent reply	other threads:[~2020-07-13  2:50 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-13  2:48 [PATCH v2 00/39] SHA-256, part 3/3 brian m. carlson
2020-07-13  2:48 ` [PATCH v2 01/39] t: make test-bloom initialize repository brian m. carlson
2020-07-13  2:48 ` [PATCH v2 02/39] t1001: use $ZERO_OID brian m. carlson
2020-07-13  2:48 ` [PATCH v2 03/39] t3305: make hash agnostic brian m. carlson
2020-07-13  2:48 ` [PATCH v2 04/39] t3404: prepare 'short SHA-1 collision' tests for SHA-256 brian m. carlson
2020-07-13  2:48 ` [PATCH v2 05/39] t6100: make hash size independent brian m. carlson
2020-07-13  2:48 ` [PATCH v2 06/39] t6101: " brian m. carlson
2020-07-13  2:48 ` [PATCH v2 07/39] t6301: " brian m. carlson
2020-07-13  2:48 ` [PATCH v2 08/39] t6500: specify test values for SHA-256 brian m. carlson
2020-07-13  2:48 ` [PATCH v2 09/39] t6501: avoid hard-coded objects brian m. carlson
2020-07-13  2:48 ` [PATCH v2 10/39] t7003: compute appropriate length constant brian m. carlson
2020-07-13  2:48 ` [PATCH v2 11/39] t7063: make hash size independent brian m. carlson
2020-07-13  2:48 ` [PATCH v2 12/39] t7201: abstract away SHA-1-specific constants brian m. carlson
2020-07-13  2:48 ` [PATCH v2 13/39] t7102: " brian m. carlson
2020-07-13  2:48 ` [PATCH v2 14/39] t7400: make hash size independent brian m. carlson
2020-07-13  2:48 ` [PATCH v2 15/39] t7405: " brian m. carlson
2020-07-13  2:48 ` [PATCH v2 16/39] t7506: avoid checking for SHA-1-specific constants brian m. carlson
2020-07-13  2:48 ` [PATCH v2 17/39] t7508: use $ZERO_OID instead of hard-coded constant brian m. carlson
2020-07-13  2:48 ` [PATCH v2 18/39] t8002: make hash size independent brian m. carlson
2020-07-13  2:48 ` [PATCH v2 19/39] t8003: " brian m. carlson
2020-07-13  2:48 ` [PATCH v2 20/39] t8011: " brian m. carlson
2020-07-13  2:48 ` [PATCH v2 21/39] t9300: abstract away SHA-1-specific constants brian m. carlson
2020-07-13  2:48 ` [PATCH v2 22/39] t9300: use $ZERO_OID instead of hard-coded object ID brian m. carlson
2020-07-13  2:48 ` [PATCH v2 23/39] t9301: make hash size independent brian m. carlson
2020-07-13  2:48 ` [PATCH v2 24/39] t9350: " brian m. carlson
2020-07-13  2:48 ` [PATCH v2 25/39] t9500: ensure that algorithm info is preserved in config brian m. carlson
2020-07-13  2:48 ` [PATCH v2 26/39] t9700: make hash size independent brian m. carlson
2020-07-13  2:48 ` [PATCH v2 27/39] t5308: make test work with SHA-256 brian m. carlson
2020-07-13  2:48 ` [PATCH v2 28/39] t0410: mark test with SHA1 prerequisite brian m. carlson
2020-07-13  2:48 ` [PATCH v2 29/39] http-fetch: set up git directory before parsing pack hashes brian m. carlson
2020-07-13  2:49 ` [PATCH v2 30/39] builtin/verify-pack: implement an --object-format option brian m. carlson
2020-07-13  2:49 ` [PATCH v2 31/39] bundle: add new version for use with SHA-256 brian m. carlson
2020-07-13  4:26   ` Junio C Hamano
2020-07-13 15:56   ` SZEDER Gábor
2020-07-15 19:42     ` Johannes Schindelin
2020-07-15 20:02       ` Junio C Hamano
2020-07-13  2:49 ` brian m. carlson [this message]
2020-07-13  2:49 ` [PATCH v2 33/39] Enable SHA-256 support by default brian m. carlson
2020-07-13  2:49 ` [PATCH v2 34/39] t: add test_oid option to select hash algorithm brian m. carlson
2020-07-13  2:49 ` [PATCH v2 35/39] t: allow testing different hash algorithms via environment brian m. carlson
2020-07-13  2:49 ` [PATCH v2 36/39] t: make SHA1 prerequisite depend on default hash brian m. carlson
2020-07-13  2:49 ` [PATCH v2 37/39] ci: run tests with SHA-256 brian m. carlson
2020-07-13  2:49 ` [PATCH v2 38/39] docs: add documentation for extensions.objectFormat brian m. carlson
2020-07-13  2:49 ` [PATCH v2 39/39] t: remove test_oid_init in tests brian m. carlson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200713024909.3714837-33-sandals@crustytoothpaste.net \
    --to=sandals@crustytoothpaste.net \
    --cc=dstolee@microsoft.com \
    --cc=git@vger.kernel.org \
    --cc=liu.denton@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).