Re: [RFD] Long term plan with submodule refs?
- Date: Fri, 10 Nov 2017 21:25:11 -0800
- From: Jacob Keller <jacob.keller@xxxxxxxxx>
- Subject: Re: [RFD] Long term plan with submodule refs?
On Fri, Nov 10, 2017 at 12:01 PM, Stefan Beller <sbeller@xxxxxxxxxx> wrote:
>>>> Basically, a workflow where it's easier to have each submodule checked
>>>> out at master, and we can still keep track of historical relationship
>>>> of what commit was the submodule at some time ago, but without causing
>>>> some of these headaches.
>>> So essentially a repo or otherwise parallel workflow just with the versioning
>>> happening magically behind your back?
>> Ideally, my developers would like to just have each submodule checked
>> out at master.
>> Ideally, I'd like to be able to checkout an old version of the parent
>> project and have it recorded what version of the shared submodule was
>> at at the time.
> This sounds as if a "passive superproject" would work best for you, i.e.
> each commit in a submodule is bubbled up into the superproject,
> making a commit potentially even behind the scenes, such that the
> user interaction with the superproject would be none.
> However this approach also sounds careless, as there is no precondition
> that e.g. the superproject builds with all the submodules as is; it is a mere
> tracking of "at this time we have the submodules arranged as such",
> whereas for the versioning aspect, you would want to have commit messages
> in the superproject saying *why* you bumped up a specific submodule.
> The user may not like to give such an explanation as they already wrote
> a commit message for the individual project.
> Also this approach sounds like a local approach, as it is not clear to me,
> why you'd want to share the superproject history.
>> Ideally, my developers don't want to have to worry about knowing that
>> they shouldn't "git add -a" or "git commit -a" when they have a
>> submodule checked out at a different location from the parent projects
It doesn't need to be totally passive, in that some (or one
maintainer) can manage when the submodule pointer is actually updated,
but ideally other users don't have to worry about that and can
"pretend" to always keep each submodule at master, as they have always
done in the past.