John Tapsell <johnflux@xxxxxxxxx> writes: [...] > Actually could someone help me with this.. the trouble is that this > returns paths relative to the root. > > Can I get it to find all the files, but relative to where I am now? Something like this is probably part of the answer, which allows an alias like this to work: locate = !cd $GIT_CWD && sh -c 'git ls-files "*$1*"' - That doesn't give you all the files (just those below where you are). diff --git a/git.c b/git.c index 99f0363..81c877b 100644 --- a/git.c +++ b/git.c @@ -178,6 +178,10 @@ static int handle_alias(int *argcp, const char ***argv) } trace_printf("trace: alias to shell cmd: %s => %s\n", alias_command, alias_string + 1); + if (!subdir || !*subdir) + setenv("GIT_CWD", "./", 1); + else + setenv("GIT_CWD", subdir, 1); ret = system(alias_string + 1); if (ret >= 0 && WIFEXITED(ret) && WEXITSTATUS(ret) != 127) -- 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