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

Re: Sources for 3.18-rc1 not uploaded

From
Junio C Hamano <gitster@pobox.com>
Date
Oct 21, 2014, 18:59 UTC
Message-ID
<xmqqoat5z1sh.fsf@gitster.dls.corp.google.com>
In-Reply-To
<54459E49.3040908@linuxfoundation.org>
Konstantin Ryabitsev <konstantin@linuxfoundation.org> writes:
Show 27 quoted lines
> On 20/10/14 06:28 PM, brian m. carlson wrote:
>>> Junio, quite frankly, I don't think that that fix was a good idea. I'd
>>> > suggest having a *separate* umask for the pax headers, so that we do
>>> > not  break this long-lasting stability of "git archive" output in ways
>>> > that are unfixable and not compatible. kernel.org has relied (for a
>>> > *long* time) on being able to just upload the signature of the
>>> > resulting tar-file, because both sides can generate the same tar-fiel
>>> > bit-for-bit.
>> It sounds like kernel.org has a bug, then.  Perhaps that's the
>> appropriate place to fix the issue.
>
> It's not a bug, it's a feature (TM). KUP relies on git-archive's ability
> to create identical tar archives across platforms and versions. The
> benefit is that Linus or Greg can create a detached PGP signature
> against a tarball created from "git archive [tag]" on their system, and
> just tell kup to create the same archive remotely, thus saving them the
> trouble of uploading 80Mb each time they cut a release.
>
> With their frequent travel to places where upload bandwidth is both slow
> and unreliable, this ability to not have to upload hundreds of Mbs each
> time they cut a release is very handy and certainly helps keep kernel
> releases on schedule.
>
> So, while it's fair to point out that git-archive was never intended to
> always create bit-for-bit identical outputs, it would be *very nice* if
> this remained in place, as at least one large-ish deployment (us) finds
> it really handy.

While I agree that it is a nice "feature", I wish KUP folks thought more about what should happen when the archive output _must_ change when a more serious bug is discovered, and coordinated with us better.

During a period where older and buggy versions of "git archive" are used by some uploaders while a new version is used by others, KUP could:

 - avail itself to a version (or versions) of "git archive" so that
   it can recreate both older and newer output;
 - upon receiving a tarball and signature, try recreating newer
   output and see if signature matches, and when the signature does
   not match, recreate older output and try again.

And we could supply "git archive --compatible=v1.7" option in the newer version if that is easier on KUP folks than having to keep multiple installations of versions of "git archive" around.

While I am on the topic of KUP, one feature I wish, which is the only thing that is preventing me from updating the preformatted documentation https://www.kernel.org/pub/software/scm/git/docs/, is to allow me to upload a single tarball and extract it at one location (e.g. /pub/software/scm/git/docs/) while removing existing files in that location (i.e. removing deleted files). Where do I file such a feature request?

Previous: Konstantin Ryabitsev
Message 18 of 18 in “Re: Sources for 3.18-rc1 not uploaded”
  1. Linus TorvaldsOct 20, 2014
  2. Junio C HamanoOct 20, 2014
  3. Konstantin RyabitsevOct 20, 2014
  4. Junio C HamanoOct 20, 2014
  5. Greg KHOct 20, 2014
  6. brian m. carlsonOct 20, 2014
  7. Linus TorvaldsOct 20, 2014
  8. Michael J GruberOct 21, 2014
  9. Linus TorvaldsOct 21, 2014
  10. David KastrupOct 21, 2014
  11. Junio C HamanoOct 21, 2014
  12. Michael J GruberOct 22, 2014
  13. brian m. carlsonOct 23, 2014
  14. René ScharfeOct 26, 2014
  15. brian m. carlsonOct 26, 2014
  16. Junio C HamanoOct 27, 2014
  17. Konstantin RyabitsevOct 20, 2014
  18. Junio C HamanoOct 21, 2014

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.