Re: RFC: Making submodules "track" branches
From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2016-06-15 22:48:56
On Tue, Jun 8, 2010 at 19:32, Marc Branchaud [off-list ref] wrote:
On 10-06-08 12:09 PM, Ævar Arnfjörð Bjarmason wrote:quoted
On Tue, Jun 8, 2010 at 15:34, Marc Branchaud [off-list ref] wrote:quoted
So, back to the issue at hand: Sometimes I want static (non-tracking) submodules, and sometimes I want dynamic (tracking) submodules. IMO, this makes Ævar's proposed configuration-based approach impractical. (Of course, I'm not looking to replicate svn's externals...)I'm proposing that you be able to configure how you want to handle submodules on a per-submodule basis.Yes, and that's precisely the problem. For a given submodule, sometimes it should track a branch and sometimes it shouldn't. Having to edit a configuration to change that is impractical.
See below.
quoted
The exact semantics that I proposed may be impractical for some reason, but the idea is that it'd be opt in. We'd perhaps have multiple approaches (via config) to submodules, instead of the current monolithic scheme.Opting in or out can't just be a monolithic setting for each submodule. A submodule's branch tracking has to be on or off depending on the circumstances.
I don't really get what the objection is exactly. How should "branch tracking" be achieved do you think? Anyway, right now what we track is set in a monolithic fashion by a combination of a commit pointer in a tree and what's being versioned in .gitmodules. If you want to change anything that's where you have to do it. Why should it be any different when the submodule isn't tracking a specific commit? I.e. when it's "track the latest version of $thingy, whatever that is", instead of "track version $version of $thingy".
quoted
So if you didn't want a svn:externals like "always track trunk" repository you'd just not set your superproject up to treat the submodule like that.Yes, of course. I guess what I'm saying is that duplicating svn's externals doesn't seem all that useful to me and I'd rather see git do better. I've no objection if folks want to have such a feature, but to me it's not what "submodules tracking branches" should be about.
Obviously I have no objection to doing better, but how specifically should that be done? If the semantics you want are "give me the latest version of $URL, whatever that is" then the SVN semantics are pretty good.