base + current already includes the trailing slash so adding one removes the first character of the next directory. Signed-off-by: Shawn Bohrer <shawn.bohrer@xxxxxxxxx> --- This fixes the oops part of the issue Johannes found, but doesn't address the fact that we probably should remove files that aren't a part of the repository at in the first place. dir.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/dir.c b/dir.c index 3e345c2..9e5879a 100644 --- a/dir.c +++ b/dir.c @@ -237,7 +237,7 @@ static void prep_exclude(struct dir_struct *dir, const char *base, int baselen) current = 0; } else { - cp = strchr(base + current + 1, '/'); + cp = strchr(base + current, '/'); if (!cp) die("oops in prep_exclude"); cp++; -- 1.5.4-rc2.GIT - 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