On Sun, 21 Jan 2007, Jakub Narebski wrote: > > > > It seems there should be a way to configure a repo or the git daemon > > to say "Allow push operations". > > > > I looked through the release notes Junio posted for 1.5.0-rc2, but > > found no reference to the git daemon. > > git:// protocol is not authenticated. git by design allow push only through > authenticated protocols, i.e. local, ssh:// (git+ssh://), http(s):// with > WebDAV, probably in the future ftps://. Well, it _should_ actually be truly fairly trivial to allow pushing over the git:// protocol, and while it's not authenticated, I could well imagine that it would make sense from within a firewalled setup (where nobody but trusted internal people can reach the git port anyway). So in that sense, I do think Bill's request makes some amount of sense. At the same time, I suspect it's not a great idea, unless you also add *some* kind of logging facility to git-daemon. But here is a trivial patch that *MAY* do what Bill wants. NOTE! "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. And a second note: I obviously didn't test it. I'm Linus. I don't do no steenking testing.. Linus --- diff --git a/daemon.c b/daemon.c index f039534..9590372 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) { - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html