Add git-upload-archive

This command implements the git archive protocol on the server
side. This command is not intended to be used by the end user.
Underlying git-archive command line options are sent over the
protocol from "git-archive --remote=...", just like upload-tar
currently does with "git-tar-tree=...".

As for "git-archive" command implementation, this new command
does not execute any existing "git-{tar,zip}-tree" but rely
on the archive API defined by "git-archive" patch. Hence we
get 2 good points:

 - "git-archive" and "git-upload-archive" share all option
   parsing code.

 - All kind of git-upload-{tar,zip} can be deprecated.

Signed-off-by: Franck Bui-Huu <vagabon.xyz@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Franck Bui-Huu
2006-09-07 15:12:05 +02:00
committed by Junio C Hamano
parent ec06bff5e6
commit 39345a216f
7 changed files with 120 additions and 0 deletions

View File

@ -325,7 +325,14 @@ static int upload_pack(void)
return -1;
}
static int upload_archive(void)
{
execl_git_cmd("upload-archive", ".", NULL);
return -1;
}
static struct daemon_service daemon_service[] = {
{ "upload-archive", "uploadarch", upload_archive, 0, 1 },
{ "upload-pack", "uploadpack", upload_pack, 1, 1 },
};