summaryrefslogtreecommitdiff
path: root/daemon.c
diff options
context:
space:
mode:
authorFranck Bui-Huu <vagabon.xyz@gmail.com>2006-09-07 15:12:05 +0200
committerJunio C Hamano <junkio@cox.net>2006-09-09 11:57:37 -0700
commit39345a216ff37bda9fb7cec85f6de44069f5205d (patch)
treee1c6cb5d354001cc9a7cd9df5748ee059a874bb5 /daemon.c
parentec06bff5e6f76b46c22a3b2c97452568f088fa3c (diff)
downloadgit-39345a216ff37bda9fb7cec85f6de44069f5205d.tar.gz
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>
Diffstat (limited to 'daemon.c')
-rw-r--r--daemon.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/daemon.c b/daemon.c
index b14d8083bb..a2954a0451 100644
--- a/daemon.c
+++ b/daemon.c
@@ -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 },
};