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é