I wanna create a public repo (bare repo) which contains multiple submodules. I want different people to clone this bare repo, do the changes in any submodules. Update the public repo. However, I realized this is quite painful. I want my repo to look like below:
I have four independent repos. a.kernel b.rootfs c.apps d.modules. I combine them into one superepo called, "build". From this superepo, I make a bare repo build.git which is shared across people.
Now if someone clones the bare repo and makes changes in the "kernel",submodule, then he has to do following things to push the changes to the public bare repo.
- commit it to "kernel",repo in the local clone.
- commit it to "build",superepo in the local clone.
- commit it to "kernel", submodule in the public repo.
- commit it to "build", public superepo.
- pull the changes in the build.git, public bare repo.
Doing all this is painful. It kind of defeats my purpose of bundling 4 repos into 1 superepo. Is there a better way to go about it. (I assume users who are gonna do it are trusted and are allowed to mess with anything.)