When using 'git subtree' to add an external project at a given prefix, log of a pathspec within the prefix fails to give the expected output. This failure can be interpreted as log expecting all trees to be read into /. Document this bug by adding a failing test. Signed-off-by: Ramkumar Ramachandra <artagnon@xxxxxxxxx> --- I normally don't use git-subtree, but happened to notice this when I was checking it out: a 'git log <pathspec>', when referring to a file inside the subtree, doesn't work as expected: it only displays the HEAD commit. I know this is not related to git-subtree at all, and has to do with how 'git log' (and probably 'git merge -Xsubtree', 'git merge -s subtree') works. I suspect that 'git log' expects all trees to be read into /, and I've tried to prove this with a failing test. I think this is a bug, but I might be missing something. Can someone tell me what is actually happening? t/t4202-log.sh | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/t/t4202-log.sh b/t/t4202-log.sh index 9243a97..523c1be 100755 --- a/t/t4202-log.sh +++ b/t/t4202-log.sh @@ -168,6 +168,37 @@ test_expect_success 'git log --follow' ' ' +test_expect_failure 'log pathspec in tree read into prefix' ' + git checkout --orphan subtree && + git rm -rf . && + echo foodle >ichi && + git add ichi && + test_tick && + git commit -m foom && + echo moodle >unrelated && + git add unrelated && + test_tick && + git commit -m quux && + subtree_h=$(git rev-parse HEAD) && + git checkout master && + orig_h=$(git rev-parse HEAD) && + git read-tree --prefix=bar $subtree_h && + new_t=$(git write-tree) && + new_h=$(echo "new subtree" | + git commit-tree $new_t -p $orig_h -p $subtree_h) && + git reset --hard $new_h && + ( + cd bar && + git log --oneline ichi >../actual + ) && + cat >expect <<-\EOF && + 61dcd8e new subtree + 130a8fb foom + EOF + git reset --hard HEAD~1 && + test_cmp expect actual +' + cat > expect << EOF 804a787 sixth 394ef78 fifth -- 1.8.2.1.546.gea3475a -- 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