git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v3] pack-write/docs: update regarding pack naming

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 22, 2020, 23:49 UTC
Message-ID
<xmqqk0yv3yag.fsf@gitster.c.googlers.com>
In-Reply-To
<20200722214031.116161-1-johannes@sipsolutions.net>
Johannes Berg <johannes@sipsolutions.net> writes:
Show 20 quoted lines
> The index-pack documentation explicitly states that the pack
> name is derived from the sorted list of object names, but
> since commit 1190a1acf800 ("pack-objects: name pack files
> after trailer hash") that isn't true anymore.
>
> Be less explicit in the docs as to what the exact output is,
> and just say that it's whatever goes into the pack name.
>
> Also update a comment on write_idx_file() since it no longer
> modifies the sha1 variable (it's const now anyway), as noted
> by Junio.
>
> Fixes: 1190a1acf800 ("pack-objects: name pack files after trailer hash")
> Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
> ---
> It was reported that bup writes pack files that have a name
> different from what git does, and I think it's quite possibly
> because of this documentation ... it doesn't actually really
> *matter* though, as long as the file is internally consistent
> nothing checks that the name also matches the footer.
Thanks.
Show 42 quoted lines
>
> You can also take this as a bug report and fix the language in
> some other, perhaps more precise way, if you prefer :-)
>
> v2: correct bup list address, oops
> v3: don't re-indent, update the comment as well
> ---
>  Documentation/git-index-pack.txt | 4 ++--
>  pack-write.c                     | 5 ++---
>  2 files changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/Documentation/git-index-pack.txt b/Documentation/git-index-pack.txt
> index 9316d9a80b0d..ac74d058e01d 100644
> --- a/Documentation/git-index-pack.txt
> +++ b/Documentation/git-index-pack.txt
> @@ -104,8 +104,8 @@ This option cannot be used with --stdin.
>  NOTES
>  -----
>  
> -Once the index has been created, the list of object names is sorted
> -and the SHA-1 hash of that list is printed to stdout. If --stdin was
> +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'
> diff --git a/pack-write.c b/pack-write.c
> index f0017beb9dd4..685d327d800a 100644
> --- a/pack-write.c
> +++ b/pack-write.c
> @@ -38,9 +38,8 @@ static int need_large_offset(off_t offset, const struct pack_idx_option *opts)
>  }
>  
>  /*
> - * 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.
> + * The *sha1 contains the pack content SHA1 hash.
> + * 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,
Previous: Johannes BergNext: Jeff King
Message 2 of 3 in “pack-write/docs: update regarding pack naming”
  1. pack-write/docs: update regarding pack namingJohannes Berg, Jul 22, 2020
  2. Junio C HamanoJul 22, 2020
  3. Jeff KingJul 23, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.