On Mon, Oct 15, 2018 at 4:23 AM brian m. carlson
<sand...@crustytoothpaste.net> wrote:
>
> Since the commit-graph code wants to serialize the hash algorithm into
> the data store, specify a version number for each supported algorithm.
> Note that we don't use the values of the constants themselves, as they
> are internal and could change in the future.
>
> Signed-off-by: brian m. carlson <sand...@crustytoothpaste.net>
> ---
>  commit-graph.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/commit-graph.c b/commit-graph.c
> index 7a28fbb03f..e587c21bb6 100644
> --- a/commit-graph.c
> +++ b/commit-graph.c
> @@ -45,7 +45,14 @@ char *get_commit_graph_filename(const char *obj_dir)
>
>  static uint8_t oid_version(void)
>  {
> -       return 1;
> +       switch (hash_algo_by_ptr(the_hash_algo)) {
> +               case GIT_HASH_SHA1:
> +                       return 1;
> +               case GIT_HASH_SHA256:
> +                       return 2;

Should we just increase this field to uint32_t and store format_id
instead? That will keep oid version unique in all data formats.

> +               default:
> +                       BUG("unknown hash algorithm");
> +       }
>  }
>
>  static struct commit_graph *alloc_commit_graph(void)
-- 
Duy

Reply via email to