On 12/15/06, Josef Weidendorfer <Josef.Weidendorfer@gmx.de> wrote:
I don't, bad wording by me. That was the problem I wanted to address.
In my example "AppBuild" and "LibBuild" were the same project but this
scenario is relevant as well.
This is interesting. In my notation:
/path/to/link/name -> <commit>/path/to/subtree
means that there is a link named "name" in the tree object for
"path/to/link". The link points to a "link object" specifying a
subtree or blob of the tree that is pointed to in a submodule commit.
This is not currently implemented but has at least the following
advantages:
1. You can access files in a submodule without fetching the whole
submodule (which may be very large). (App1 is only interested in
lib1.h, the rest is toally irrelevant)
2. Superproject can access referenced (linked) files in it's own
folder-structure without being forced a structure by the subproject.
If you do a symlink instead, doesn't you loose versioning information?
What happens with the symlinks if someone clones the superproject?
Wouldn't specifying the submodule path in the link object fit in well
here? Then each "link object" can represent a checked out tree from
the subproject in the superproject directory-structure.
This is true for symlinks and would also be corrected if we have a
(sparse) submodule checkout there in it's place.
Why? Can you give an example here.
The main reason for these "links" are for versioning purposes: the
uniqe SHA1 of the "link" representing a tree/blob in a version of the
submodule should be "included" in the supermodules commit. Symlinks
won't give that at all.
Probably not as that was a piece of the puzzle that I was missing.
//Torgil
-
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