Trying to commit or ls a file "../$a" from within a subdirectory "aha" gives the following output, when "$a" runs through the values "a", "aa" etc.: error: pathspec '../a' did not match any file(s) known to git. error: pathspec '../aa' did not match any file(s) known to git. error: pathspec '../aaa' did not match any file(s) known to git. error: pathspec '' did not match any file(s) known to git. error: pathspec 'a' did not match any file(s) known to git. error: pathspec 'aa' did not match any file(s) known to git. error: pathspec 'aaa' did not match any file(s) known to git. error: pathspec 'aaaa' did not match any file(s) known to git. error: pathspec 'aaaaa' did not match any file(s) known to git. error: pathspec 'aaaaaa' did not match any file(s) known to git. This comes from the fact that report_path_error() tries to chop off a prefix from the pathspec which may have been resolved and consumed already. Fix this by displaying the full pathspec. Signed-off-by: Michael J Gruber <git@xxxxxxxxxxxxxxxxxxxx> --- So, I couldn't reproduce because it depends on the length of the dirname. This may be fallout from efad1a5 (ls-files: allow relative pathspec, 2010-06-03) but I haven't checked and won't be able to for the next 3 weeks, sorry. I just wanted to send out this possible fix before I leave. --- builtin/ls-files.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/builtin/ls-files.c b/builtin/ls-files.c index 1570123..e0b1401 100644 --- a/builtin/ls-files.c +++ b/builtin/ls-files.c @@ -418,7 +418,7 @@ int report_path_error(const char *ps_matched, const char **pathspec, int prefix_ continue; error("pathspec '%s' did not match any file(s) known to git.", - pathspec[num] + prefix_len); + pathspec[num]); errors++; } return errors; -- 1.7.6.336.gdf067 -- 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