From: Derrick Stolee Date: Thu, 12 Apr 2018 11:28:11 GMT Subject: Re: [PATCH v8 03/14] commit-graph: add format document Message-ID: In-Reply-To: <86zi294fzq.fsf@gmail.com> On 4/11/2018 4:58 PM, Jakub Narebski wrote: > Derrick Stolee writes: > >> +CHUNK DATA: >> + >> + OID Fanout (ID: {'O', 'I', 'D', 'F'}) (256 * 4 bytes) >> + The ith entry, F[i], stores the number of OIDs with first >> + byte at most i. Thus F[255] stores the total >> + number of commits (N). >> + >> + OID Lookup (ID: {'O', 'I', 'D', 'L'}) (N * H bytes) >> + The OIDs for all commits in the graph, sorted in ascending order. >> + >> + Commit Data (ID: {'C', 'G', 'E', 'T' }) (N * (H + 16) bytes) > I think it is a typo, and it should be CDAT, not CGET > (CDAT seem to me to stand for Commit DATa): > > + Commit Data (ID: {'C', 'D', 'A', 'T' }) (N * (H + 16) bytes) > > This is what you use in actual implementation, in PATCH v8 06/14 > > DS> +#define GRAPH_SIGNATURE 0x43475048 /* "CGPH" */ > DS> +#define GRAPH_CHUNKID_OIDFANOUT 0x4f494446 /* "OIDF" */ > DS> +#define GRAPH_CHUNKID_OIDLOOKUP 0x4f49444c /* "OIDL" */ > DS> +#define GRAPH_CHUNKID_DATA 0x43444154 /* "CDAT" */ > DS> +#define GRAPH_CHUNKID_LARGEEDGES 0x45444745 /* "EDGE" */ > Documentation bugs are hard to diagnose. Thanks for finding this. I double checked that the hex int "0x43444154" matches "CDAT". Here is a diff to make it match. diff --git a/Documentation/technical/commit-graph-format.txt b/Documentation/technical/commit-graph-format.txt index ad6af8105c..af03501834 100644 --- a/Documentation/technical/commit-graph-format.txt +++ b/Documentation/technical/commit-graph-format.txt @@ -70,7 +70,7 @@ CHUNK DATA:    OID Lookup (ID: {'O', 'I', 'D', 'L'}) (N * H bytes)        The OIDs for all commits in the graph, sorted in ascending order. -  Commit Data (ID: {'C', 'G', 'E', 'T' }) (N * (H + 16) bytes) +  Commit Data (ID: {'C', 'D', 'A', 'T' }) (N * (H + 16) bytes)      * The first H bytes are for the OID of the root tree.      * The next 8 bytes are for the positions of the first two parents        of the ith commit. Stores value 0xffffffff if no parent in that