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

Re: Feature request: Allow extracting revisions into directories

From
Sitaram Chamarty <sitaramc@gmail.com>
Date
Feb 4, 2013, 00:42 UTC
Message-ID
<510F03FC.6080501@gmail.com>
In-Reply-To
<1359915086.24730.19.camel@t520>
On 02/03/2013 11:41 PM, Robert Clausecker wrote:
Show 13 quoted lines
> 
> Am Sonntag, den 03.02.2013, 21:55 +0530 schrieb Sitaram Chamarty:
>> Could you help me understand why piping it to tar (actually 'tar -C
>> /dest/dir -x') is not sufficient to achieve what you want?
> 
> Piping the output of git archive into tar is of course a possible
> solution; I just don't like the fact that you need to pipe the output
> into a separate program to do something that should be possible with a
> simple switch and not an extra command. It feels unintuitive and like a
> workaround to make an archive just to unpack it on-the-fly. Also, adding
> such a command (or at least documenting the way to do this using a pipe
> to tar somewhere in the man pages) is a small and simple change that
> improves usability.

I realise it appears to be the fashion these days to get away from the Unix philosophy of having different tools do different things and combining them as needed.

Ignoring the option-heavy GNU, and looking at the more traditional BSD tar manpage [1], I notice the following flags that could still be potentially needed by someone running 'git archive': '-t' (instead of '-x'), '-C dir', '--exclude/include', '-k', '-m', '--numeric-owner', -o, -P, -p, -q, -s, -T, -U, -v, -w, and -X.

And I'm ignoring the esoteric ones like "--chroot" and "-S" (sparse mode).
How many of these options would you like included in git?  And if you
say "I don't need any of those; I just need '-x'", that's not relevant.
 Someone else may need any or all of those flags, and if you accept "-x"
you have to accept some of the others too.

Also, I often want to deploy to a different host, and I might do that like so:

    git archive ... | ssh host tar -C /deploy/dir -x
Why not put that ssh functionality into git also?

What about computing a checksum and putting out a "sha1sums.txt" file? People do that also. How about a flag for that?

Where does this end?
[1]: http://www.unix.com/man-page/FreeBSD/1/tar/
Previous: Robert ClauseckerNext: Phil Hord
Message 4 of 22 in “Feature request: Allow extracting revisions into directories”
  1. Robert ClauseckerFeb 3, 2013
  2. Sitaram ChamartyFeb 3, 2013
  3. Robert ClauseckerFeb 3, 2013
  4. Sitaram ChamartyFeb 4, 2013
  5. Phil HordFeb 5, 2013
  6. Robert ClauseckerFeb 9, 2013
  7. Junio C HamanoFeb 9, 2013
  8. Junio C HamanoFeb 10, 2013
  9. Robert ClauseckerFeb 10, 2013
  10. Jonathan NiederFeb 10, 2013
  11. Robert ClauseckerFeb 10, 2013
  12. Jonathan NiederFeb 10, 2013
  13. Konstantin KhomoutovFeb 3, 2013
  14. Michael J GruberFeb 4, 2013
  15. Robert ClauseckerFeb 4, 2013
  16. Tomas CarneckyFeb 4, 2013
  17. Junio C HamanoFeb 4, 2013
  18. Sitaram ChamartyFeb 5, 2013
  19. Andrew ArdillFeb 4, 2013
  20. Junio C HamanoFeb 4, 2013
  21. Andreas SchwabFeb 4, 2013
  22. Thomas KochFeb 10, 2013

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.