On Wed, Jan 23 2019, Derrick Stolee via GitGitGadget wrote:

>       graph_version = *(unsigned char*)(data + 4);
> -     if (graph_version != 1) {
> -             error(_("graph version %X does not match version %X"),
> -                   graph_version, 1);
> +     if (!graph_version || graph_version > 2) {
> +             error(_("unsupported graph version %X"),
> +                   graph_version);
>               goto cleanup_fail;
>       }

Just noticed this while writing
https://public-inbox.org/git/[email protected]/ i.e. to
resolve the conflict with my commit-graph segfault fixing series.

This really should be something like:

        /* earlier */
        #define GRAPH_MAX_VERSION 2

        if (!graph_version || graph_version > GRAPH_MAX_VERSION) {
                error(_("commit-graph unsupported graph version %X, we support 
up to %X"),
                        graph_version, GRAPH_MAX_VERSION);

Also, I'm confused as to what these patches are based on. Your is doing
"!= 1", but on "master" and ever since 2a2e32bdc5 ("commit-graph:
implement git commit-graph read", 2018-04-10) this has been the macro
"GRAPH_VERSION" instead of "1".

Reply via email to