Closed ahundt closed 5 years ago
I've updated this pull request to use the other submodules as subtrees, which makes life easier, particularly when dealing with multiple forks of the repository.
@gergondet
I'd rather not switch to a sub-tree (this is also relevant to jrl-umi3218/Tasks#50)
In our experience (we used to have such a meta-repository + build script to get the full stack at once), the main benefit of working with sub-trees is in fact the initial clone/build which is simpler. However, it is also very easy to break the repository/history because it requires much more discipline (in particular when working across multiple repositories) to work with sub-trees.
Some of the repositories are already sub-trees though and others aren't. I understand that problem, but modules don't work with forks by default, it will only go the original source, not the location actually inuse. Some of the bugs I need to be able to install on my system, particularly the python fixes, haven't been merged in the last couple years so I've needed to maintain things separately, and your submodules don't contain my commits which fix the build. Perhaps you have an alternative idea?
Maybe it used to be subtrees and the update instructions haven't been corrected? Isn't a mix of both subtrees and submodules worse? https://github.com/jrl-umi3218/Tasks#pulling-git-subtree
I think this is a more minimal fix jrl-umi3218/sch-core#20 independent of subtrees/submodules.
I understand that problem, but modules don't work with forks by default, it will only go the original source, not the location actually inuse.
This is surprising. I'd think you change the .gitmodules
uri in the fork and run git submodule sync
locally to make it work but I haven't tried that personally.
Some of the bugs I need to be able to install on my system, particularly the python fixes, haven't been merged in the last couple years so I've needed to maintain things separately, and your submodules don't contain my commits which fix the build. Perhaps you have an alternative idea?
Sorry about that. I think you are referring to jrl-umi3218/jrl-cmakemodules#124 I think we could merge that if that solves your issue.
Maybe it used to be subtrees and the update instructions haven't been corrected? Isn't a mix of both subtrees and submodules worse?
It's subtrees in Tasks because submodules don't work in subtrees and this was a problem for the (deprecated) meta-repository. This hasn't been changed since as ultimately it doesn't have much impact (we don't update the cmake subfolder in this repository these days). sch-core
is (at least, was) used by more than one team and so the meta-repository handled it a bit differently as well in order not to break the workflow of other teams.
In summary, we still have some subtrees where we usually have submodules (typically cmake subfolder) for historical reasons and because there's very low activity related to these folders on these repositories. (imho, the main concern with subtrees is about "active" code)
Closing following #22
FYI, all repositories in the "Tasks" stack will be using submodules with similar PR
This fixes the problems described in: https://github.com/jrl-umi3218/jrl-cmakemodules/pull/124