From: Linus Torvalds Date: Sun, 21 Jan 2007 19:04:13 +0000 (-0800) Subject: git-push through git protocol X-Git-Tag: v1.5.0-rc3~29 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=4b3b1e1e488fe83a8a889ff26cf88355692b6a8c;p=git.git git-push through git protocol This allows pushing over the git:// protocol, and while it's not authenticated, it could make sense from within a firewalled setup where nobody but trusted internal people can reach the git port. git-daemon is possibly easier and faster to set up in the kind of situation where you set up git instead of CVS inside a company. "git-receive-pack" is disabled by default, so you need to enable it explicitly by starting git-daemon with the "--enable=receive-pack" command line argument, or by having your config enable it automatically. Signed-off-by: Linus Torvalds Signed-off-by: Junio C Hamano --- diff --git a/daemon.c b/daemon.c index f039534d6..959037221 100644 --- a/daemon.c +++ b/daemon.c @@ -372,9 +372,16 @@ static int upload_archive(void) return -1; } +static int receive_pack(void) +{ + execl_git_cmd("receive-pack", ".", NULL); + return -1; +} + static struct daemon_service daemon_service[] = { { "upload-archive", "uploadarch", upload_archive, 0, 1 }, { "upload-pack", "uploadpack", upload_pack, 1, 1 }, + { "receive-pack", "receivepack", receive_pack, 0, 1 }, }; static void enable_service(const char *name, int ena) {