git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Philip Oakley <philipoakley@iee.email>
To: Junio C Hamano <gitster@pobox.com>,
	Philip Oakley via GitGitGadget <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 2/4] glossary: add commit graph description
Date: Sun, 10 Jul 2022 22:37:35 +0100	[thread overview]
Message-ID: <5551bd33-cf95-3201-0a00-23e02ef41de3@iee.email> (raw)
In-Reply-To: <xmqqedyut22w.fsf@gitster.g>

Hi Junio,

On 09/07/2022 22:20, Junio C Hamano wrote:
> "Philip Oakley via GitGitGadget" <gitgitgadget@gmail.com> writes:
>
>> +[[def_commit_graph]]commit graph::
>> +	The commit-graph file is a supplemental data structure that
>> +	accelerates commit graph walks. The existing Object Data Base (ODB)
>> +	is the definitive commit graph. The "commit-graph" file is stored
>> +	either in the .git/objects/info directory or in the info directory
>> +	of an alternate object database.
> While it says nothing technically incorrect, I suspect "The existing
> object data base is the definitive commit graph" may invite unneeded
> confusion.

I probably over-shortened the original text I was summarising
(technical/commit-graph.txt intro).
>
> I think you wanted to say that the DAG formed by traversing the
> pointers recorded in the objects is the authoritative source of
> truth and the commit-graph file is merely a precomputed cache
.. of that graph. *nod*
>  and
> can be safely lost, 

I wasn't particularly thinking of that aspect .. Perhaps more that it
accelerates commit graph walks..
> but I am not sure the above description conveys
> that to anybody who does not already know it.
>
>     The commits in the object data base form a directed acyclic
>     graph (DAG) by commits referring to their parent commits.
>     Pieces of information from individual commit objects that are
>     needed to traverse the DAG are pre-computed in the commit-graph
>     file and stored in ...
>
> is my attempt---I am not very happy or proud about it, but it may be
> easier to follow.

I wanted to keepseparate from the graph file definition, the rather
fuzzy relationship between the overall ODB (staging area, and loads of
other stuff), and the way the DAG is generated, which also needs the
selected refs to start the traverse..

In a wider context, it's not clear to me just how the commit graph file
content is chosen relative to the full depth DAG from all local refs.
The reachability bit maps have a similar info gap.

--
Philip

[sorry for erratic responses - currently isolating with covid]


  reply	other threads:[~2022-07-10 21:37 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-09 16:56 [PATCH 0/4] Add some Glossary terms, and extra renormalize information Philip Oakley via GitGitGadget
2022-07-09 16:56 ` [PATCH 1/4] glossary: add Object DataBase (ODB) abbreviation Philip Oakley via GitGitGadget
2022-07-09 16:56 ` [PATCH 2/4] glossary: add commit graph description Philip Oakley via GitGitGadget
2022-07-09 21:20   ` Junio C Hamano
2022-07-10 21:37     ` Philip Oakley [this message]
2022-08-30 14:33       ` Philip Oakley
2022-07-09 16:56 ` [PATCH 3/4] glossary: add reachability bitmap description Philip Oakley via GitGitGadget
2022-07-09 16:56 ` [PATCH 4/4] doc add: renormalize is not idempotent for CRCRLF Philip Oakley via GitGitGadget
2022-07-09 21:06   ` Junio C Hamano
2022-07-10 21:52     ` Philip Oakley
2022-07-10 22:04       ` Junio C Hamano
2022-07-10 22:25         ` Philip Oakley
2022-07-10  7:48   ` Torsten Bögershausen
2022-07-10 22:09     ` Philip Oakley
2022-08-05 22:26       ` Junio C Hamano
2022-08-06 19:22         ` Torsten Bögershausen
2022-08-08 14:32         ` Philip Oakley
2022-08-08 16:21           ` Junio C Hamano
2022-08-09 18:44           ` Torsten Bögershausen
2022-08-10 14:44         ` [PATCH v2 0/1] .. Add extra renormalize information Philip Oakley
2022-08-10 14:44           ` [PATCH v2 1/1] doc add: renormalize is not idempotent for CRCRLF Philip Oakley
2022-08-10 17:11             ` Torsten Bögershausen
2022-08-10 17:42             ` Junio C Hamano
2022-07-09 21:34 ` [PATCH 0/4] Add some Glossary terms, and extra renormalize information Junio C Hamano
2022-07-10 15:20   ` Philip Oakley
2022-10-22 22:25 ` [PATCH v2 0/3] Add some Glossary of terms information Philip Oakley
2022-10-22 22:25   ` [PATCH v2 1/3] doc: use 'object database' not ODB or abbreviation Philip Oakley
2022-10-22 22:25   ` [PATCH v2 2/3] glossary: add "commit graph" description Philip Oakley
2022-10-25 12:31     ` Derrick Stolee
2022-10-29 16:32       ` Philip Oakley
2022-10-22 22:25   ` [PATCH v2 3/3] glossary: add reachability bitmap description Philip Oakley
2022-10-24  7:43     ` Abhradeep Chakraborty
2022-10-24 16:39       ` Junio C Hamano
2022-10-24 21:23         ` Philip Oakley
2022-10-25 12:34           ` Derrick Stolee
2022-10-25 15:53             ` Junio C Hamano
2022-10-29 16:36             ` Philip Oakley
2022-10-23  1:49   ` [PATCH v2 0/3] Add some Glossary of terms information Junio C Hamano
2022-10-29 16:41   ` [PATCH v3 0/4] " Philip Oakley
2022-10-29 16:41     ` [PATCH v3 1/4] doc: use 'object database' not ODB or abbreviation Philip Oakley
2022-10-29 16:41     ` [PATCH v3 2/4] glossary: add "commit graph" description Philip Oakley
2022-10-29 16:41     ` [PATCH v3 3/4] glossary: add reachability bitmap description Philip Oakley
2022-10-29 16:41     ` [PATCH v3 4/4] doc: use "commit-graph" hyphenation consistently Philip Oakley
2022-10-29 17:24     ` [PATCH v3 0/4] Add some Glossary of terms information Taylor Blau
2022-10-29 17:34       ` Philip Oakley

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

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

  git send-email \
    --in-reply-to=5551bd33-cf95-3201-0a00-23e02ef41de3@iee.email \
    --to=philipoakley@iee.email \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --cc=gitster@pobox.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.
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 NNTP newsgroup(s).