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

Re: git-archive's wrong documentation: really write pax rather than tar

From
René Scharfe <rene.scharfe@lsrfire.ath.cx>
Date
Aug 4, 2011, 17:54 UTC
Message-ID
<4E3ADCCB.6080206@lsrfire.ath.cx>
In-Reply-To
<1312478843.69439.YahooMailClassic@web29510.mail.ird.yahoo.com>
Am 04.08.2011 19:27, schrieb Hin-Tak Leung:
Show 15 quoted lines
> --- On Thu, 4/8/11, Jeff King <peff@peff.net> wrote:
>> Out of curiosity, what is the library? Putting pax headers into
>> ustar format has been standardized in POSIX since 2001.
> 
> The R people wrote their own in the R language (and the person who
> responded to my post in that R-devel thread was possibly the one who
> wrote that part, I believe) - The main reason is probably
> cross-platform-ness and independence from other programming languages
> - they are gradually moving away from invoking system() (because they
> need to run on windows and they used to require many cygwin/mingw
> tools to build add-on packages).
> 
> The R code which does that, scan for certain patterns after seek()
> into the gunzip'ed stream after 512(?) bytes. It is in a file 
> R/src/library/utils/R/tar.R under the source repository.
Ah, here it is:
  https://svn.r-project.org/R/trunk/src/library/utils/R/tar.R
It's the ctype handling in function untar2 that rejects unknown entry types.

For reference, the documentation of the pax format including a suggestion to treat unknown types like regular files can be found here (search for "typename"):

  http://pubs.opengroup.org/onlinepubs/9699919799/utilities/pax.html
> I think I tried the tree example and the R code also didn't like it
> much... may be I'll give it another try.
Did you try adding a ":" to the tree argument, e.g. this:
	$ git archive HEAD:
instead of this?
	$ git archive HEAD
René
Previous: Hin-Tak LeungNext: Hin-Tak Leung
Message 2 of 6 in “(unknown)”
  1. Hin-Tak LeungAug 4, 2011
  2. René ScharfeAug 4, 2011
  3. Hin-Tak LeungAug 4, 2011
  4. René ScharfeAug 6, 2011
  5. Hin-Tak LeungAug 10, 2011
  6. René ScharfeAug 10, 2011

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.