From: Derrick Stolee Date: Thu, 09 May 2019 12:25:01 GMT Subject: Re: [PATCH 12/17] Documentation: describe split commit-graphs Message-ID: <8195f9a4-1808-e23e-f633-7e6809cc3656@gmail.com> In-Reply-To: On 5/9/2019 12:49 AM, Junio C Hamano wrote: > Ævar Arnfjörð Bjarmason writes: > >> With commit-graph- all these unlink() race conditions go away, >> partial reads due to concurrent graph writing becomes a non-issue (we'd >> just leave the old files, "gc" deals with them later..), no need to >> carefully fsync() files/dirs etc as we need to carefully juggle N and >> N+1 files. > > The above would give a nice course correction to be in line with the > rest of the system, like how split index knows about and chains to > its base. Thanks for a dose of sanity. I'm working on a detailed response to Ævar's ideas, to be sure we are talking about the same thing, because the original motivation for the commit-graph format v2 was to allow the 'commit-graph' file to point to a chain of base files by a list of hashes (like the split index does). The current proposal was created in response to an unwillingness to break the file format for the 'commit-graph' file. -Stolee