Jakub Narebski [off-list ref] writes:
Second, how `--path=<narrow_spec>` interacts with `-n' (no checkout).
Does it even have any sense? Perhaps those options should be mutually
incompatibile (and --bare and this option too)?
Technically you could mark the index entries with no-checkout bits even
with -n, so that later checkout or branch switching would honor that, but
the branch switching would make paths that do not exist in the remote HEAD
branch but do exist in the switched-to branch appear, which would be
confusing. So instead of supporting:
$ git clone -n --path=Documentation/ $there work
$ cd work
$ git checkout next
we can support:
$ git clone -n $there work
$ cd work
$ git checkout --path=Documentation/ next
which is much easier to explain and understand.