Subject: Re: [PATCH] Add git-zip-tree to .gitignore

From: Rene Scharfe <[email-masked]>
Date: Tue, 29 Aug 2006 00:28:19 +0200

Junio C Hamano schrieb:
> Rene Scharfe <[email-masked]> writes:
> 
>> Junio C Hamano schrieb:
>>> Although it was my fault applying it already to "master" without 
>>> asking this question first, I started to wonder how many more archive
>>> format people would want, and if it might make more sense to
>>> consolidate git-*-tree into a single frontend with an option to
>>> specify the archiver.
>>>
>>> We would obviously need to keep git-tar-tree as a backward 
>>> compatibility alias for "git archive-tree -f tar", but doing things
>>> that way we do not have to introduce unbounded number of new
>>> git-{zip,rar,...}-tree programs.
>> That thought occurred to me, too.  I guess there are not that many more
>> interesting archive formats, though.  Can we defer adding
>> git-archive-tree until a third archive format command appears?  I won't
>> submit another one, I promise. ;-)
> 
> I was more worried about possibly having to do --remote once in
> each for tar-tree and zip-tree in git-daemon.  The version of
> daemon currently in "pu" can allow git-tar-tree to be accessed
> from the client via git:// URL.

Good point.  And especially for net transfers a compressed format like
ZIP or TGZ (not yet implemented) would be better.

Would it make sense to have just one multiplexer command?  I.e.
something like this:

  git-archive -f <format> [extra]                <tree-ish> [<base>]
  git-archive -f <format> [extra] --upload       <tree-ish> [<base>]
  git-archive -f <format> [extra] --remote=<url> <tree-ish> [<base>]

[extra] stands for format specific options like the compression ratio
for ZIP.  The protocol spoken by upload and --remote would need to be
extended to be able to specify the format and any format specific options.

While we're discussing the command line interface, would it make sense
to support path specs, like e.g. ls-tree does?  Like this:

  git-archive -f <format> [extra] [--prefix=<base>] <tree-ish> [<path>]

Personally, I don't see the need for path specs for archive creation,
but IF we want to introduce them then the best time to do it would be
now, at the same time as introducing git-archive (or git-archive-tree).

René