* git-daemon breakage in 1.5.4 @ 2008-02-05 15:39 Wincent Colaiuta 2008-02-05 17:49 ` Scott Parish 2008-02-05 20:02 ` Junio C Hamano 0 siblings, 2 replies; 13+ messages in thread From: Wincent Colaiuta @ 2008-02-05 15:39 UTC (permalink / raw) To: git mailing list; +Cc: srp I just noticed that my copy of git-daemon running from xinetd on Red Hat Enterprise Linux 3 has been broken since upgrading to 1.5.4. On the client side this is what you see ("git clone" used in the example but you get the same issue with "git ls-remote"): git clone git://git.wincent.com/wikitext.git Initialized empty Git repository in /tmp/wikitext/.git/ fatal: The remote end hung up unexpectedly fetch-pack from 'git://git.wincent.com/wikitext.git' failed. Nothing printed to the logs on the server side: it simply hangs up. By connecting via telnet I've confirmed that git-daemon is running and does accept the initial connection. The verdict according to "git bisect" is that 511707d42b3b3e57d9623493092590546ffeae80 is first bad commit: commit 511707d42b3b3e57d9623493092590546ffeae80 Author: Scott R Parish <srp@srparish.net> Date: Sun Oct 28 04:17:20 2007 -0700 use only the $PATH for exec'ing git commands We need to correctly set up $PATH for non-c based git commands. Since we already do this, we can just use that $PATH and execvp, instead of looping over the paths with execve. This patch adds a setup_path() function to exec_cmd.c, which sets the $PATH order correctly for our search order. execv_git_cmd() is stripped down to setting up argv and calling execvp(). git.c's main() only only needs to call setup_path(). Signed-off-by: Scott R Parish <srp@srparish.net> Signed-off-by: Junio C Hamano <gitster@pobox.com> :100644 100644 33b17a6b45699e73a9b58f0ff02135eae913b47d 2d0a75851284392aa8ae44bc486df6a034d0af13 M exec_cmd.c :100644 100644 da99287552b5d3eafc495f998a936df81ee3f8b9 a892355c8212298130fb3925c6cba352ed6999b6 M exec_cmd.h :100644 100644 c7cabf5f348118f318d7c3abe55853b576869a98 4e10581101c26444da5c7c44a80219b11607705b M git.c Does that look like it might be the issue? Anyone familiar with that part of the code care to comment? Any other info I can provide that might shed light on the problem? Cheers, Wincent ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: git-daemon breakage in 1.5.4 2008-02-05 15:39 git-daemon breakage in 1.5.4 Wincent Colaiuta @ 2008-02-05 17:49 ` Scott Parish 2008-02-05 19:28 ` Wincent Colaiuta 2008-02-05 20:02 ` Junio C Hamano 1 sibling, 1 reply; 13+ messages in thread From: Scott Parish @ 2008-02-05 17:49 UTC (permalink / raw) To: Wincent Colaiuta; +Cc: git mailing list On Feb 5, 2008, at 7:39 AM, Wincent Colaiuta wrote: > I just noticed that my copy of git-daemon running from xinetd on > Red Hat Enterprise Linux 3 has been broken since upgrading to 1.5.4. > > Nothing printed to the logs on the server side: it simply hangs up. > By connecting via telnet I've confirmed that git-daemon is running > and does accept the initial connection. > > The verdict according to "git bisect" is that > 511707d42b3b3e57d9623493092590546ffeae80 is first bad commit: > > Does that look like it might be the issue? Anyone familiar with > that part of the code care to comment? Any other info I can provide > that might shed light on the problem? Prior to that patch, execv_git_cmd called execve in a loop to find the command to run. The above patch added a setup_path() api to setup PATH and then called execvp() to do the looping. The problem in this case is that daemon is never calling setup_path(), so the builtin path (among others) aren't getting included in the PATH. You should see the problem go away if you run "git daemon" instead of "git-daemon". Given that directly using the dash versions of the commands are discouraged, it probably wouldn't hurt doing this anyway. I'll work up a patch later today. sRp ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: git-daemon breakage in 1.5.4 2008-02-05 17:49 ` Scott Parish @ 2008-02-05 19:28 ` Wincent Colaiuta 0 siblings, 0 replies; 13+ messages in thread From: Wincent Colaiuta @ 2008-02-05 19:28 UTC (permalink / raw) To: Scott Parish; +Cc: git mailing list El 5/2/2008, a las 18:49, Scott Parish escribió: > > On Feb 5, 2008, at 7:39 AM, Wincent Colaiuta wrote: > >> I just noticed that my copy of git-daemon running from xinetd on >> Red Hat Enterprise Linux 3 has been broken since upgrading to 1.5.4. >> >> Nothing printed to the logs on the server side: it simply hangs up. >> By connecting via telnet I've confirmed that git-daemon is running >> and does accept the initial connection. >> >> The verdict according to "git bisect" is that >> 511707d42b3b3e57d9623493092590546ffeae80 is first bad commit: >> >> Does that look like it might be the issue? Anyone familiar with >> that part of the code care to comment? Any other info I can provide >> that might shed light on the problem? > > Prior to that patch, execv_git_cmd called execve in a loop to find > the command to run. The above patch added a setup_path() api to > setup PATH and then called execvp() to do the looping. The problem > in this case is that daemon is never calling setup_path(), so the > builtin path (among others) aren't getting included in the PATH. > > You should see the problem go away if you run "git daemon" instead > of "git-daemon". Given that directly using the dash versions of the > commands are discouraged, it probably wouldn't hurt doing this > anyway. I'll work up a patch later today. Interesting. I use the dashless form on my desktop but I hadn't thought about using it on the server; I'd think that explicitly providing the absolute path should always work anyway (at least, it's meant to, isn't it?). In any case I did a little more investigation. As I mentioned in my original email, the daemon is being launched by xinetd. The xinetd configuration launches it with the full path to the executable; eg: /usr/local/bin/git-daemon --inetd --base-path=/blah -- /blah Changing that to: /usr/local/bin/git daemon --inetd --base-path=/blah -- /blah We still get the failure. But dropping the --inetd flag and launching the daemon manually it works both as: /usr/local/bin/git daemon --inetd --base-path=/blah -- /blah And: /usr/local/bin/git-daemon --inetd --base-path=/blah -- /blah So there's some kind of funky interaction going on. On seeing your patch come up in the "git bisect" run I wondered what kind of interaction might be happening with the PATH (I imagine the PATH environment inherited by processes that xinetd launches must be pretty anemic), but seeing as I can reproduce the problem from the command line (with a well-stocked PATH) that doesn't seem to be the problem. Cheers, Wincent ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: git-daemon breakage in 1.5.4 2008-02-05 15:39 git-daemon breakage in 1.5.4 Wincent Colaiuta 2008-02-05 17:49 ` Scott Parish @ 2008-02-05 20:02 ` Junio C Hamano 2008-02-06 8:05 ` Wincent Colaiuta 1 sibling, 1 reply; 13+ messages in thread From: Junio C Hamano @ 2008-02-05 20:02 UTC (permalink / raw) To: Wincent Colaiuta; +Cc: git mailing list, srp Wincent Colaiuta <win@wincent.com> writes: > I just noticed that my copy of git-daemon running from xinetd on Red > Hat Enterprise Linux 3 has been broken since upgrading to 1.5.4. > > On the client side this is what you see ("git clone" used in the > example but you get the same issue with "git ls-remote"): > > git clone git://git.wincent.com/wikitext.git > Initialized empty Git repository in /tmp/wikitext/.git/ > fatal: The remote end hung up unexpectedly > fetch-pack from 'git://git.wincent.com/wikitext.git' failed. > > Nothing printed to the logs on the server side: it simply hangs up. By > connecting via telnet I've confirmed that git-daemon is running and > does accept the initial connection. > > The verdict according to "git bisect" is that > 511707d42b3b3e57d9623493092590546ffeae80 is first bad commit: > > commit 511707d42b3b3e57d9623493092590546ffeae80 > Author: Scott R Parish <srp@srparish.net> > Date: Sun Oct 28 04:17:20 2007 -0700 > > use only the $PATH for exec'ing git commands Perhaps you did not install git on the PATH processes launched by your inetd implementation would use? ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: git-daemon breakage in 1.5.4 2008-02-05 20:02 ` Junio C Hamano @ 2008-02-06 8:05 ` Wincent Colaiuta 2008-02-06 8:46 ` Junio C Hamano 2008-02-06 9:40 ` Johannes Sixt 0 siblings, 2 replies; 13+ messages in thread From: Wincent Colaiuta @ 2008-02-06 8:05 UTC (permalink / raw) To: Junio C Hamano; +Cc: git mailing list, srp El 5/2/2008, a las 21:02, Junio C Hamano escribió: > Wincent Colaiuta <win@wincent.com> writes: > >> I just noticed that my copy of git-daemon running from xinetd on Red >> Hat Enterprise Linux 3 has been broken since upgrading to 1.5.4. >> >> On the client side this is what you see ("git clone" used in the >> example but you get the same issue with "git ls-remote"): >> >> git clone git://git.wincent.com/wikitext.git >> Initialized empty Git repository in /tmp/wikitext/.git/ >> fatal: The remote end hung up unexpectedly >> fetch-pack from 'git://git.wincent.com/wikitext.git' failed. >> >> Nothing printed to the logs on the server side: it simply hangs up. >> By >> connecting via telnet I've confirmed that git-daemon is running and >> does accept the initial connection. >> >> The verdict according to "git bisect" is that >> 511707d42b3b3e57d9623493092590546ffeae80 is first bad commit: >> >> commit 511707d42b3b3e57d9623493092590546ffeae80 >> Author: Scott R Parish <srp@srparish.net> >> Date: Sun Oct 28 04:17:20 2007 -0700 >> >> use only the $PATH for exec'ing git commands > > Perhaps you did not install git on the PATH processes launched > by your inetd implementation would use? I don't know what PATH environment xinetd provides, but I can reproduce this directly as follows from the command line without any involvement from xientd: First, set up PATH with all the standard locations, with directories under /usr/local specified first. Git 1.5.4 is installed in /usr/local/ bin: # export PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/ sbin:/sbin This fails with the "remote end hung up unexpectedly" error: # /usr/local/bin/git-daemon --inetd --base-path=/blah -- /blah Drop the --inetd option and it works with no errors: # /usr/local/bin/git-daemon --base-path=/blah -- /blah Now, if I downgrade to Git 1.5.3.8, it works both with and without the --inetd option. The above behaviour is the same regardless of how I specify the path to git-daemon (ie. absolute or relative, dashed or dashless). Is there anything I can do to get "git daemon" to be more verbose on failing? Cheers, Wincent ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: git-daemon breakage in 1.5.4 2008-02-06 8:05 ` Wincent Colaiuta @ 2008-02-06 8:46 ` Junio C Hamano 2008-02-06 9:44 ` Wincent Colaiuta 2008-02-06 9:40 ` Johannes Sixt 1 sibling, 1 reply; 13+ messages in thread From: Junio C Hamano @ 2008-02-06 8:46 UTC (permalink / raw) To: Wincent Colaiuta; +Cc: git mailing list, srp Wincent Colaiuta <win@wincent.com> writes: > This fails with the "remote end hung up unexpectedly" error: > > # /usr/local/bin/git-daemon --inetd --base-path=/blah -- /blah > > Drop the --inetd option and it works with no errors: Do you mean you run the above from your command line and it fails? I do not think --inetd mode is supposed to work as a daemon that accepts connections. Wouldn't it be talking with a single peer via its stdin/stdout? Puzzled. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: git-daemon breakage in 1.5.4 2008-02-06 8:46 ` Junio C Hamano @ 2008-02-06 9:44 ` Wincent Colaiuta 0 siblings, 0 replies; 13+ messages in thread From: Wincent Colaiuta @ 2008-02-06 9:44 UTC (permalink / raw) To: Junio C Hamano; +Cc: git mailing list, srp El 6/2/2008, a las 9:46, Junio C Hamano escribió: > Wincent Colaiuta <win@wincent.com> writes: > >> This fails with the "remote end hung up unexpectedly" error: >> >> # /usr/local/bin/git-daemon --inetd --base-path=/blah -- /blah >> >> Drop the --inetd option and it works with no errors: > > Do you mean you run the above from your command line and it > fails? Yes. > I do not think --inetd mode is supposed to work as a daemon that > accepts connections. Wouldn't it be talking with a single peer > via its stdin/stdout? I don't know exactly what it does under the covers (will look now). Perhaps it detects that its running from an interactive login and modifies its behaviour. But all I can confirm is that in 1.5.3.8 (and before 511707d42b3b3e57d9623493092590546ffeae80) "git daemon" works from the command line both with and without the --inetd option, and in 1.5.4 (from that commit onwards) "git daemon" doesn't work for me with the --inetd option but it does without it. The testing from the command line is really only a diagnostic thing (perhaps misguided), but it does exhibit the same behaviour as issuing the same command within xinetd. Cheers, > Wincent ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: git-daemon breakage in 1.5.4 2008-02-06 8:05 ` Wincent Colaiuta 2008-02-06 8:46 ` Junio C Hamano @ 2008-02-06 9:40 ` Johannes Sixt 2008-02-06 10:12 ` Wincent Colaiuta ` (2 more replies) 1 sibling, 3 replies; 13+ messages in thread From: Johannes Sixt @ 2008-02-06 9:40 UTC (permalink / raw) To: Wincent Colaiuta; +Cc: Junio C Hamano, git mailing list, srp Wincent Colaiuta schrieb: > El 5/2/2008, a las 21:02, Junio C Hamano escribió: >> Perhaps you did not install git on the PATH processes launched >> by your inetd implementation would use? > > I don't know what PATH environment xinetd provides, but I can reproduce > this directly as follows from the command line without any involvement > from xientd: > > First, set up PATH with all the standard locations, with directories > under /usr/local specified first. Git 1.5.4 is installed in /usr/local/bin: > > # export > PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin > > This fails with the "remote end hung up unexpectedly" error: > > # /usr/local/bin/git-daemon --inetd --base-path=/blah -- /blah If you run this from the command line, you can't expect it to do anything useful: It communicates with the client via stdin and stdout. > Drop the --inetd option and it works with no errors: > > # /usr/local/bin/git-daemon --base-path=/blah -- /blah When I run git-daemon with a reduced path similar to this: PATH=/bin:/usr/bin /usr/local/bin/git-daemon ... i.e. git is installed in /usr/local/bin, but it is not in PATH, then I also get "hung up unexpectedly" from a client that connects to this server. Which makes me think that you xinetd doesn't pass a PATH to git-daemon that includes /usr/local/bin. Add this to your /etc/xinetd.d/git: env = PATH=/bin:/usr/bin:/usr/local/bin (not tested). -- Hannes ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: git-daemon breakage in 1.5.4 2008-02-06 9:40 ` Johannes Sixt @ 2008-02-06 10:12 ` Wincent Colaiuta 2008-02-06 10:28 ` Johannes Sixt 2008-02-06 11:33 ` Johannes Sixt 2008-02-06 12:02 ` Adam Piatyszek 2 siblings, 1 reply; 13+ messages in thread From: Wincent Colaiuta @ 2008-02-06 10:12 UTC (permalink / raw) To: Johannes Sixt; +Cc: Junio C Hamano, git mailing list, srp El 6/2/2008, a las 10:40, Johannes Sixt escribió: >> This fails with the "remote end hung up unexpectedly" error: >> >> # /usr/local/bin/git-daemon --inetd --base-path=/blah -- /blah > > If you run this from the command line, you can't expect it to do > anything > useful: It communicates with the client via stdin and stdout. Strangely, it worked with 1.5.3.8. But I just tried to reproduce it and now I can't, so there must have been some error in my procedure. Doh. The bizarre thing is that in preparing these emails I tested it at least twice, which means I must have made the exact same mistake at least twice... > Which makes me think that you xinetd doesn't pass a PATH to git-daemon > that includes /usr/local/bin. Add this to your /etc/xinetd.d/git: > > env = PATH=/bin:/usr/bin:/usr/local/bin > > (not tested). That works. Thanks. It's an acceptable workaround (the other is installing /usr instead of /usr/local). Seeing as it worked in 1.5.3.8, does this qualify as breakage, or should we not worry about it? Cheers, Wincent ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: git-daemon breakage in 1.5.4 2008-02-06 10:12 ` Wincent Colaiuta @ 2008-02-06 10:28 ` Johannes Sixt 2008-02-06 11:39 ` Wincent Colaiuta 0 siblings, 1 reply; 13+ messages in thread From: Johannes Sixt @ 2008-02-06 10:28 UTC (permalink / raw) To: Wincent Colaiuta; +Cc: Junio C Hamano, git mailing list, Scott R Parish Wincent Colaiuta schrieb: > El 6/2/2008, a las 10:40, Johannes Sixt escribió: > >>> This fails with the "remote end hung up unexpectedly" error: >>> >>> # /usr/local/bin/git-daemon --inetd --base-path=/blah -- /blah >> >> If you run this from the command line, you can't expect it to do anything >> useful: It communicates with the client via stdin and stdout. > > Strangely, it worked with 1.5.3.8. But I just tried to reproduce it and > now I can't, so there must have been some error in my procedure. Doh. > The bizarre thing is that in preparing these emails I tested it at least > twice, which means I must have made the exact same mistake at least > twice... > >> Which makes me think that you xinetd doesn't pass a PATH to git-daemon >> that includes /usr/local/bin. Add this to your /etc/xinetd.d/git: >> >> env = PATH=/bin:/usr/bin:/usr/local/bin >> >> (not tested). > > That works. Thanks. > > It's an acceptable workaround (the other is installing /usr instead of > /usr/local). Seeing as it worked in 1.5.3.8, does this qualify as > breakage, or should we not worry about it? Does this patch make a difference? (It does for me.) diff --git a/daemon.c b/daemon.c index 41a60af..c99285e 100644 --- a/daemon.c +++ b/daemon.c @@ -1026,6 +1026,7 @@ int main(int argc, char **argv) struct group *group; gid_t gid = 0; int i; + char *cmd_path = strdup(argv[0]), *slash; /* Without this we cannot rely on waitpid() to tell * what happened to our children. @@ -1184,6 +1185,13 @@ int main(int argc, char **argv) if (strict_paths && (!ok_paths || !*ok_paths)) die("option --strict-paths requires a whitelist"); + slash = strrchr(cmd_path, '/'); + if (slash) { + *slash = 0; + setup_path(cmd_path); + } + free(cmd_path); + if (inetd_mode) { struct sockaddr_storage ss; struct sockaddr *peer = (struct sockaddr *)&ss; ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: git-daemon breakage in 1.5.4 2008-02-06 10:28 ` Johannes Sixt @ 2008-02-06 11:39 ` Wincent Colaiuta 0 siblings, 0 replies; 13+ messages in thread From: Wincent Colaiuta @ 2008-02-06 11:39 UTC (permalink / raw) To: Johannes Sixt; +Cc: Junio C Hamano, git mailing list, Scott R Parish El 6/2/2008, a las 11:28, Johannes Sixt escribió: >>> Which makes me think that you xinetd doesn't pass a PATH to git- >>> daemon >>> that includes /usr/local/bin. Add this to your /etc/xinetd.d/git: >>> >>> env = PATH=/bin:/usr/bin:/usr/local/bin >>> >>> (not tested). >> >> That works. Thanks. >> >> It's an acceptable workaround (the other is installing /usr instead >> of >> /usr/local). Seeing as it worked in 1.5.3.8, does this qualify as >> breakage, or should we not worry about it? > > Does this patch make a difference? (It does for me.) Nope. I applied this on top of "maint", removed the PATH setup from / etc/xinetd.d/git, and get the "remote end hung up unexpectedly" again. If I restore the PATH setup then it works, but then, so does does 1.5.4. Cheers, Wincent > diff --git a/daemon.c b/daemon.c > index 41a60af..c99285e 100644 > --- a/daemon.c > +++ b/daemon.c > @@ -1026,6 +1026,7 @@ int main(int argc, char **argv) > struct group *group; > gid_t gid = 0; > int i; > + char *cmd_path = strdup(argv[0]), *slash; > > /* Without this we cannot rely on waitpid() to tell > * what happened to our children. > @@ -1184,6 +1185,13 @@ int main(int argc, char **argv) > if (strict_paths && (!ok_paths || !*ok_paths)) > die("option --strict-paths requires a whitelist"); > > + slash = strrchr(cmd_path, '/'); > + if (slash) { > + *slash = 0; > + setup_path(cmd_path); > + } > + free(cmd_path); > + > if (inetd_mode) { > struct sockaddr_storage ss; > struct sockaddr *peer = (struct sockaddr *)&ss; ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: git-daemon breakage in 1.5.4 2008-02-06 9:40 ` Johannes Sixt 2008-02-06 10:12 ` Wincent Colaiuta @ 2008-02-06 11:33 ` Johannes Sixt 2008-02-06 12:02 ` Adam Piatyszek 2 siblings, 0 replies; 13+ messages in thread From: Johannes Sixt @ 2008-02-06 11:33 UTC (permalink / raw) To: Wincent Colaiuta; +Cc: Junio C Hamano, git mailing list, Scott R Parish Johannes Sixt schrieb: > Wincent Colaiuta schrieb: >> Drop the --inetd option and it works with no errors: >> >> # /usr/local/bin/git-daemon --base-path=/blah -- /blah > > When I run git-daemon with a reduced path similar to this: > > PATH=/bin:/usr/bin /usr/local/bin/git-daemon ... > > i.e. git is installed in /usr/local/bin, but it is not in PATH, then I > also get "hung up unexpectedly" from a client that connects to this server. > > Which makes me think that you xinetd doesn't pass a PATH to git-daemon > that includes /usr/local/bin. Add this to your /etc/xinetd.d/git: > > env = PATH=/bin:/usr/bin:/usr/local/bin > > (not tested). And if I run it this way: PATH=/bin:/usr/bin /usr/local/bin/git daemon ... (notice the dash-less form) it works, too. Although I don't know if this somehow would interfere with --inetd mode. -- Hannes ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: git-daemon breakage in 1.5.4 2008-02-06 9:40 ` Johannes Sixt 2008-02-06 10:12 ` Wincent Colaiuta 2008-02-06 11:33 ` Johannes Sixt @ 2008-02-06 12:02 ` Adam Piatyszek 2 siblings, 0 replies; 13+ messages in thread From: Adam Piatyszek @ 2008-02-06 12:02 UTC (permalink / raw) To: Johannes Sixt; +Cc: Wincent Colaiuta, Junio C Hamano, git mailing list, srp * Johannes Sixt [6 II 2008 10:40]: > When I run git-daemon with a reduced path similar to this: > > PATH=/bin:/usr/bin /usr/local/bin/git-daemon ... > > i.e. git is installed in /usr/local/bin, but it is not in PATH, then I > also get "hung up unexpectedly" from a client that connects to this server. > > Which makes me think that you xinetd doesn't pass a PATH to git-daemon > that includes /usr/local/bin. Add this to your /etc/xinetd.d/git: > > env = PATH=/bin:/usr/bin:/usr/local/bin You can also run "git daemon" passing --exec-path as a git argument. This should help. For instance, I use the following configuration in inetd.conf (SunOS 5.9): git stream tcp nowait gituser /usr/local/bin/git \ git --exec-path=/usr/local/bin daemon --inetd \ --base-path=/export/home/gituser/git /export/home/gituser/git BR, /Adam -- .:. Adam Piatyszek (ediap) .:.....................................:. .:. ediap@users.sourceforge.net .:................................:. ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2008-02-06 12:11 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-02-05 15:39 git-daemon breakage in 1.5.4 Wincent Colaiuta 2008-02-05 17:49 ` Scott Parish 2008-02-05 19:28 ` Wincent Colaiuta 2008-02-05 20:02 ` Junio C Hamano 2008-02-06 8:05 ` Wincent Colaiuta 2008-02-06 8:46 ` Junio C Hamano 2008-02-06 9:44 ` Wincent Colaiuta 2008-02-06 9:40 ` Johannes Sixt 2008-02-06 10:12 ` Wincent Colaiuta 2008-02-06 10:28 ` Johannes Sixt 2008-02-06 11:39 ` Wincent Colaiuta 2008-02-06 11:33 ` Johannes Sixt 2008-02-06 12:02 ` Adam Piatyszek
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).