Re: [PATCH v6 07/14] commit-graph: implement 'git-commit-graph write'
From: Derrick Stolee <hidden>
Date: 2018-03-19 19:09:29
On 3/19/2018 10:36 AM, Ævar Arnfjörð Bjarmason wrote:
On Mon, Mar 19 2018, Derrick Stolee jotted:quoted
On 3/18/2018 9:25 AM, Ævar Arnfjörð Bjarmason wrote:quoted
On Wed, Mar 14 2018, Derrick Stolee jotted:quoted
+'git commit-graph write' <options> [--object-dir <dir>] + + +DESCRIPTION +----------- + +Manage the serialized commit graph file. + + +OPTIONS +------- +--object-dir:: + Use given directory for the location of packfiles and commit graph + file. The commit graph file is expected to be at <dir>/info/commit-graph + and the packfiles are expected to be in <dir>/pack.Maybe this was covered in a previous round, this series is a little hard to follow since each version isn't In-Reply-To the version before it, but why is this option needed, i.e. why would you do: git commit-graph write --object-dir=/some/path/.git/objects As opposed to just pigging-backing on what we already have with both of: git --git-dir=/some/path/.git commit-graph write git -C /some/path commit-graph write Is there some use-case where you have *just* the objects dir and not the rest of the .git folder?Yes, such as an alternate. If I remember correctly, alternates only need the objects directory. In the GVFS case, we place prefetch packfiles in an alternate so there is only one copy of the "remote objects" per drive. The commit graph will be stored in that alternate.Makes sense, but we should really document this as being such an unusual option, i.e. instead say something like. Use given directory for the location of packfiles and commit graph file. Usually you'd use the `--git-dir` or `-C` arguments to `git` itself. This option is here to support obscure use-cases where we have a stand-alone object directory. The commit graph file is expected to be at <dir>/info/commit-graph and the packfiles are expected to be in <dir>/pack.
A slight change to your recommendation: OPTIONS ------- --object-dir:: Use given directory for the location of packfiles and commit graph file. This parameter exists to specify the location of an alternate that only has the objects directory, not a full .git directory. The commit graph file is expected to be at <dir>/info/commit-graph and the packfiles are expected to be in <dir>/pack.