Re: [PATCH 03/23] midx: add midx builtin
- From
Stefan Beller <sbeller@google.com>
- Date
- Jun 11, 2018, 21:02 UTC
- Message-ID
- <CAGZ79kaH7XzbtPZqVwGgP774GJNxF7ZsHqLzWEmb2NLSxG3Njg@mail.gmail.com>
- In-Reply-To
- <20180607140338.32440-4-dstolee@microsoft.com>
Hi Derrick, On Thu, Jun 7, 2018 at 7:03 AM Derrick Stolee <stolee@gmail.com> wrote:
> > This new 'git midx' builtin will be the plumbing access for writing, > reading, and checking multi-pack-index (MIDX) files. The initial > implementation is a no-op.
Let's talk about the name for a second:
.idx files are written by git-index-pack or as part of git-pack-objects (which just calls write_idx_file as part of finish_tmp_packfile), and the name actually suggests it writes the index files. I have a hard time understanding what the git-midx command does[1].
With both commit graph as well as multi index we introduce a command that is centered around that concept (similar to git-remote or git-config that are centered around a concept, that is closely resembled by a file), but for indexes for packs it was integrated differently into Git. So I am not sure if I want to suggest to integrate it into the packfile commands as that doesn't really fit. But maybe we can have a name that is human readable instead of the file suffix? Maybe
git multi-pack-index ?
I suppose that eventually this command is not really used by users as it will be used by other porcelain commands in the background or even as part of repack/gc so I am not worried about a long name, but I'd be more worried about understandability.
[1] While these names are not perfect for the layman, it is okay? I am sure you are aware of https://git-man-page-generator.lokaltog.net/
Show 11 quoted lines
> new file mode 100644 > index 0000000000..2bd886f1a2 > --- /dev/null > +++ b/Documentation/git-midx.txt > @@ -0,0 +1,29 @@ > +git-midx(1) > +============ > + > +NAME > +---- > +git-midx - Write and verify multi-pack-indexes (MIDX files).
The reading is done as part of all other commands.
Show 20 quoted lines
> + > + > +SYNOPSIS > +-------- > +[verse] > +'git midx' [--object-dir <dir>] > + > +DESCRIPTION > +----------- > +Write or verify a MIDX file. > + > +OPTIONS > +------- > + > +--object-dir <dir>:: > + Use given directory for the location of Git objects. We check > + <dir>/packs/multi-pack-index for the current MIDX file, and > + <dir>/packs for the pack-files to index. > + > +
Maybe we could have a SEE ALSO section that points at the explanation of multi index files? (c.f. man git-submodule that has a SEE ALSO gitsubmodules(7), gitmodules(5) explaining concepts(7) and the file(5))
But as this is plumbing and users should not need to worry about it this is optional, I would think.