Sounds good to me too.
I don't disagree, if you're trying to have a bisectable history, the only way I can think to do it is to commit to the submodule repo, then rebase your main repo changes on top of a
git add <submodule>; git commit.
Good idea, I'm going to try and write up an intro to submodules post today. Everyone needs to be comfortable with working with them before we go ahead (IMO).
Here's the downside... let's say you've got one mega repo, with
mod in it, every time you make any change to the common code (
libavr32) you have to make sure everything compiles properly (and really you should test it on hardware too).
Whereas if you use a submodule for
libavr32, you get to decide when the code for that submodule is updated to the latest version (or any other version if it takes your fancy).
Let's say hypothetically, that whitewhale is declared perfect, and no more changes are going to be made. With the mega repo, you still need to update it's source to track any changes made to
libavr32 otherwise it will be broken in the
master branch. With submodules, you don't have to do anything, the
libavr32 submodule will always point to the same commit, unless you explicitly change it.
The advantage for the code-curious musician is that we can say to them, don't go in the
libavr32 folder, there be dragons (or more specifically interrupt routines, same difference as far as I can see). Have a look at @scanner_darkly's orca repo, it's a lot less scary than being faced with the aleph or mod repo if all you want to do is make a PR to add some small feature.
I think this goes to the heart of it, but I'd suggest the dichotomy is between:
- no umbrella repo, each module is it's own thing, it has a submodule to
- leave things as they are (and maybe make a mega repo with the aleph code in it too)
As @rick_monster says, submodules are going to add confusion, having nested submodules doubly so.
One last thing, I know for a fact that I'm going to start getting very very busy from the summer onwards, till sometime next year. I just want to make sure that I'm not the only person that knows how all of this sticks together, I'd hate to leave people in the lurch.