git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / mirror / code / Atom feed
* [PATCH v3] pack-write/docs: update regarding pack naming
@ 2020-07-22 21:40 Johannes Berg
  2020-07-22 23:49 ` Junio C Hamano
  2020-07-23 18:32 ` Jeff King
  0 siblings, 2 replies; 3+ messages in thread
From: Johannes Berg @ 2020-07-22 21:40 UTC (permalink / raw)
  To: git; +Cc: bup-list, Jamie Wyrick

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.

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,
-- 
2.26.2


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] pack-write/docs: update regarding pack naming
  2020-07-22 21:40 [PATCH v3] pack-write/docs: update regarding pack naming Johannes Berg
@ 2020-07-22 23:49 ` Junio C Hamano
  2020-07-23 18:32 ` Jeff King
  1 sibling, 0 replies; 3+ messages in thread
From: Junio C Hamano @ 2020-07-22 23:49 UTC (permalink / raw)
  To: Johannes Berg; +Cc: git, bup-list, Jamie Wyrick

Johannes Berg <johannes@sipsolutions.net> writes:

> 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.

>
> 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,

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] pack-write/docs: update regarding pack naming
  2020-07-22 21:40 [PATCH v3] pack-write/docs: update regarding pack naming Johannes Berg
  2020-07-22 23:49 ` Junio C Hamano
@ 2020-07-23 18:32 ` Jeff King
  1 sibling, 0 replies; 3+ messages in thread
From: Jeff King @ 2020-07-23 18:32 UTC (permalink / raw)
  To: Johannes Berg; +Cc: git, bup-list, Jamie Wyrick

On Wed, Jul 22, 2020 at 11:40:31PM +0200, Johannes Berg wrote:

> 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.

Sorry, I should have fixed these way back in 1190a1acf800. Thanks for
fixing them. :)

-Peff

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-07-23 18:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-22 21:40 [PATCH v3] pack-write/docs: update regarding pack naming Johannes Berg
2020-07-22 23:49 ` Junio C Hamano
2020-07-23 18:32 ` Jeff King

Code repositories for project(s) associated with this inbox:

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).