Hello, The description of the bug in my previous e-mail was correct, but the 2nd part of steps for replicating the bug were incorrect. Please use the following sequences to reproduce the bug (this time I actually verified it completely...) (1) create the reference repository (same as previous e-mail) mkdir /tmp/git_bug cd /tmp/git_bug git init mkdir a1 touch a1/base mkdir a1-extra touch a1-extra/more git add . git commit -m "test" (2) replicate the bug cd /tmp/git_bug2 git clone -n /tmp/git_bug . git config core.sparsecheckout true echo "a1/" > .git/info/sparse-checkout git read-tree -u -m HEAD ls The previous example was using "git checkout" instead of "git read-tree", and the "echo" command was missing an output redirect operator. It actually was checking out both directories, but for the wrong reason. With this example, if the two directories are named as shown, they both get checked out, but if you modify step (1), and name the other repository as "b1-extra", then only the "a1" directory gets checked out in step (2). Sorry about the confusion.. -- 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