Hi all!
After David has successfully tested a first SVN -> Git conversion of our
repo, here comes the next challenge: Finding a way to preserve our
current modularization into reactos, rosapps, rostests and paving the
way for even more modularization.
My vision for the future is a small "core" repo that only contains our
host tools and SDK. We could also split off subprojects like
fast486/ntvdm or Paint into individual repos. Now that Microsoft has
abandoned them under Windows, they may individually attract developers
who would never hack on the entire ReactOS repo. Furthermore, 3rd party
components could be imported through their repo instead of copy-pasting
their code without history (as we do now).
Even if that vision is a distant goal, the technology for it is already
required for a reactos, rosapps, rostests modularization.
Isn't that a perfect scenario for Git submodules?
Not sure: I'm not aware that they support the concept of optional
modules. You could only check out the "core" repo with all defined
submodules. This would make it impossible to use "core" only to build
Paint. There also seem to be other drawbacks when using submodules:
https://codingkilledthecat.wordpress.com/2012/04/28/why-your-company-should…
Alternatives like Git subtrees, Google Repo, and Gitslave exist, but
there is even less information about them. Furthermore, I think a good
integration into GUI tools like TortoiseGit is also a requirement for
most of us.
David and I have started to write down our findings:
https://docs.google.com/document/d/1Ey1xdS_0GcG7p7ZgHZBh4A3VMq2uxyw5MpnUXbT…
Your input on this is very welcome!
I guess any migration to Git is blocked before we have a solution here.
Cheers,
Colin