When I use git-log ... path/name I seem to regularly typo path/name as path//name (with duplicated slashes) The normal kernel ignores these duplicated slashes according to POSIX so it's typically no problem, but git fails and cannot find the correct file name when this happens.
This patch fixes this case for git-log at least, by handling duplicated slashes as a single slash. I probably didn't change all places where file names are parsed in the source base, but this seems to be a relatively common place used by several sub commands. And at least for me fixing git-log is the most important case anyways.
Patch against git 1.5.4
-Andi
diff -u git-1.5.4/setup.c-o git-1.5.4/setup.c --- git-1.5.4/setup.c-o 2008-02-09 13:35:21.000000000 +0100 +++ git-1.5.4/setup.c 2008-02-09 13:47:53.000000000 +0100
Show changes to diff +5 −0
@@ -7,6 +7,11 @@ const char *prefix_path(const char *prefix, int len, const char *path) { const char *orig = path; + char *s; + + while ((s = strstr(path, "//")) != NULL) + memmove(s, s + 1, strlen(s)); + for (;;) { char c; if (*path != '.')