Martin Waitz wrote:
On Wed, Sep 27, 2006 at 09:58:43AM -0700, A Large Angry SCM wrote:
This means that modules are not separate, stand alone projects but,
rather, just a sub part of your bigger project. Very useful and
applicable in some situations but other situations want/need separate,
stand alone subprojects.
you can do everything with the submodule which would be possible with
a normal GIT repository. And you can always clone it into an directory
which is not controlled by a parent project.
I really think that this is an very important property of a submodule.
I must be missing something.
I just read you original message in the (sub)thread again and you said:
* the .git/refs/heads directory of the submodule gets stored in
.gitmodule/<modulename> inside the parent project
If the submodule refs in the parent are a _copy_, then work performed in
the submodule outside of the parent will be lost when the parent is in
control of the submodule again.
If the submodule refs in the parent are the actual submodule refs then
the submodule is not independent of the parent.
If the submodule refs in the parent are a symlink to the refs in the
submodule, then the parent has no control over which version of the
submodule it gets on the next checkout since the submodule can update
the ref.
[...]
One use-case which may be important here:
The submodule has two different branches which got forked and are not
intended to be merged again. At some point in time the parent project
wants to switch from one branch of the submodule to another branch.
If a user still has modifications in the old branch and wants to
update the parent project then it is important to know if the local
modifications and those coming from the parent have to be merged or
should stay in different branches.
If the parent is switching branches there should only be some warning
if the user still has modifications in the old branch, giving him the
chance to port the modifications to the other branch.
Again, this is leading me to believe that the submodule is not
independent of the parent.
-
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