diff options
author | Junio C Hamano <junkio@cox.net> | 2006-10-05 02:26:12 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-10-05 02:26:12 -0700 |
commit | 9ccb64c8e0791a865ad520bcfff4b02cc7c50097 (patch) | |
tree | 0b1ac600d0f02a182bd546d6439716c5ace4469c | |
parent | 6030649591256a8bc1b504ec1e4fce86ab0ad064 (diff) | |
download | git-9ccb64c8e0791a865ad520bcfff4b02cc7c50097.tar.gz git-9ccb64c8e0791a865ad520bcfff4b02cc7c50097.tar.xz |
tar-tree deprecation: we eat our own dog food.
It is silly to keep using git-tar-tree in dist target when the
command gives a big deprecation warning when called. Instead,
use "git-archive --format=tar" which we recommend to our users.
Update gitweb's snapshot feature to use git-archive for the same
reason.
Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r-- | Makefile | 5 | ||||
-rwxr-xr-x | gitweb/gitweb.perl | 9 |
2 files changed, 9 insertions, 5 deletions
@@ -856,8 +856,9 @@ git.spec: git.spec.in mv $@+ $@ GIT_TARNAME=git-$(GIT_VERSION) -dist: git.spec git-tar-tree - ./git-tar-tree HEAD^{tree} $(GIT_TARNAME) > $(GIT_TARNAME).tar +dist: git.spec git-archive + ./git-archive --format=tar \ + --prefix=$(GIT_TARNAME)/ HEAD^{tree} > $(GIT_TARNAME).tar @mkdir -p $(GIT_TARNAME) @cp git.spec $(GIT_TARNAME) @echo $(GIT_VERSION) > $(GIT_TARNAME)/version diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 3e9d4a005..6e1496d6a 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -2838,9 +2838,12 @@ sub git_snapshot { -content_disposition => 'inline; filename="' . "$filename" . '"', -status => '200 OK'); - my $git_command = git_cmd_str(); - open my $fd, "-|", "$git_command tar-tree $hash \'$project\' | $command" or - die_error(undef, "Execute git-tar-tree failed."); + my $git = git_cmd_str(); + my $name = $project; + $name =~ s/\047/\047\\\047\047/g; + open my $fd, "-|", + "$git archive --format=tar --prefix=\'$name\'/ $hash | $command" + or die_error(undef, "Execute git-tar-tree failed."); binmode STDOUT, ':raw'; print <$fd>; binmode STDOUT, ':utf8'; # as set at the beginning of gitweb.cgi |