Re: [PATCH v2] doc: remove misleading documentation on pack names
- From
Johannes Berg <johannes@sipsolutions.net>
- Date
- Jul 22, 2020, 21:14 UTC
- Message-ID
- <ab8993fc6840765895ad39c59af1e536582e76d7.camel@sipsolutions.net>
- In-Reply-To
- <xmqq5zaf5ka6.fsf@gitster.c.googlers.com>
On Wed, 2020-07-22 at 14:09 -0700, Junio C Hamano wrote:
> > Please avoid "seems to be" and spend a bit of effort digging the > history especially when we are not in a hurry to get to the definite > answer.
I did ... but between all the file renames and moves, and not understanding the code very well, I didn't really understand what was going on.
Ok, so maybe "seems to be" was a bit of a cop-out because I do understand that's what git does *now* (having just replicated it in bup), but I have no idea how it got there.
Show 6 quoted lines
> We can go "less explicit", or be a bit more informative by > saying that it is the trailer hash that is standard practice shared > across our binary files like the index and the packfile. > > I think this is 1190a1ac (pack-objects: name pack files after > trailer hash, 2013-12-05).
Indeed, that makes sense. Somehow I didn't come across this commit, but perhaps that's because I was looking too much at index-pack.c (and its various renames).
Show 17 quoted lines
> It forgot to update the comment before
> write_idx_file() function when it did this change:
>
> /*
> * On entry *sha1 contains the pack content SHA1 hash, on exit it is
> * the SHA1 hash of sorted object names. The objects array passed in
> * will be sorted by SHA1 on exit.
> */
> const char *write_idx_file(const char *index_name, struct pack_idx_entry **objects,
> int nr_objects, const struct pack_idx_option *opts,
> - unsigned char *sha1)
> + const unsigned char *sha1)
> {
>
> Obviously, after it turned *sha1 into 'const', it no longer is
> possible for it to have anything different from what was passed in
> upon exit.Indeed :-)
Show 9 quoted lines
> > +Once the index has been created, the hash that goes into the name of > > +the pack/idx file is printed to stdout. If --stdin was also used then > > +this is prefixed by either "pack\t", or "keep\t" if a new .keep file > > +was successfully created. This is useful to remove a .keep file used > > +as a lock to prevent the race with 'git repack' mentioned above. > > The change is good---I made sure that among these filve lines, what > changed was only the first one and half lines. I however would have > preferred not to see the line rewrapping.
Ok, fair - the text all seemed wrapped "nicely" so I preserved that rather than have one line significantly shorter than the others, but if you prefer that it's fine by me.
Really all I was trying to do is be a *little* more helpful than just point out "the documentation is wrong"...
johannes