git-grep(1)'s output is not consistent with git-rev-parse(1) revision syntax. This means you cannot take "rev:path/to/file.c: foo();" output from git-grep(1) and expect "git show rev:path/to/file.c" to work. See the individual patches for examples of command-lines that produce invalid output. This series is an incomplete attempt at solving the issue. I'm not familiar enough with the git codebase to propose a better solution. Perhaps someone is interested in a proper fix? Stefan Hajnoczi (2): grep: only add delimiter if there isn't one already grep: use '/' delimiter for paths builtin/grep.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) -- 2.9.3