On Sun, Nov 04 2018, brian m. carlson wrote:
> The transition plan anticipates us using a syntax such as "^{sha1}" for > disambiguation. Since this is a syntax some people will be typing a > lot, it makes sense to provide a short, easy-to-type syntax. Omitting > the dash doesn't create any ambiguity; however, it does make the syntax > shorter and easier to type, especially for touch typists. In addition, > the transition plan already uses "sha1" in this context. The comment for git_hash_algo's "name" member in hash.h says: /* * The name of the algorithm, as appears in the config file and in * messages. */ const char *name; Whereas this commit message just refers to a doesn't-yet-exist ^{$algo} syntax. The hash-function-transition.txt doc also uses forms like sha1 or sha256 in config, not sha-1 or sha-256. I don't have a point I'm leading up to here, other than a question of whether we should be doing something closer to this: diff --git a/hash.h b/hash.h index 7c8238bc2e..8ae51ac410 100644 --- a/hash.h +++ b/hash.h @@ -67,10 +67,17 @@ typedef void (*git_hash_final_fn)(unsigned char *hash, git_hash_ctx *ctx); struct git_hash_algo { /* - * The name of the algorithm, as appears in the config file and in - * messages. + * The short name of the algorithm (e.g. "sha1") for use in + * config files (see hash-function-transition.txt) and the + * ^{$name} peel syntax. */ - const char *name; + const char *short_name; + + /* + * The long name of the algorithm (e.g. "SHA-1") for use in + * messages to users. + */ + const char *long_name; /* A four-byte version identifier, used in pack indices. */ uint32_t format_id; diff --git a/sha1-file.c b/sha1-file.c index dd0b6aa873..5ad0526155 100644 --- a/sha1-file.c +++ b/sha1-file.c @@ -86,6 +86,7 @@ static void git_hash_unknown_final(unsigned char *hash, git_hash_ctx *ctx) const struct git_hash_algo hash_algos[GIT_HASH_NALGOS] = { { + NULL, NULL, 0x00000000, 0, @@ -97,7 +98,8 @@ const struct git_hash_algo hash_algos[GIT_HASH_NALGOS] = { NULL, }, { - "sha-1", + "sha1", + "SHA-1", /* "sha1", big-endian */ 0x73686131, GIT_SHA1_RAWSZ,