I started to revisit this issue and patched "git update-index --add"
and "git add" so far. Patches follow.
I think we should also check the following and fix them if any of them is
broken. Under the same "dir/file exists but symlink points at dir"
scenario:
* "git rm symlink/file" --- should fail without removing dir/file;
* "git ls-tree $commit -- symlink/file" should *not* fail if $commit does
have "symlink/file" in it (iow, we cannot add the logic to get_pathspec());
* "git ls-files --exclude-standard -o -- symlink/file" should not talk
about "symlink/file".
If we reword the paragraph I quoted at the beginning of this message
slightly:
A gitlink to is is just a leaf level of a tree structure that
represents the working tree in the index. There won't be anything
hanging below it.
We would need a similar check to stop at module boundary, just like the
helper function we use for these patches, has_symlink_leading_path(),
stops at a symlink.
So without further ado...
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html