Re: Postponing the July Meeting
Colin Finck <[email protected]> Thu, 2 Aug 2018 20:17:15 +0200
| Newsgroups | gmane.os.reactos.kernel |
|---|---|
| Message-ID | <[email protected]> |
Am 01.08.2018 um 20:16 schrieb Ged Murphy: > I have an item for the agenda. I'd like to discuss the possibility of moving some of our drivers out of the main repo and into something more convenient. > [...] > If we're going to do that, why not consider others too. Network cards, sound stack, USB, boot loaders, printer drivers, directx, etc Using Git submodules to make ReactOS more manageable and increase its exposure was also my ultimate vision prior to the Git move. However, after a vivid discussion back then, we had damn good reasons for sticking with a Monorepo. First, take into account that Git submodules come with their own drawbacks: 1) If you branch from "master" in our "reactos" repository, its submodules will stay on "master". In a branch workflow, you basically have to create a branch for each submodule you want to touch and then update submodule links. 2) Git always checks out submodules at their root paths. There is no way to include just a subdirectory of a submodule. This can be problematic if you want a submodule to make sense on its own and as part of the big "reactos" repository at the same time. 3) You need more commits to achieve the same, because you first commit into the submodule and then commit to "reactos" to update the submodule link. This can be annoying when there are lots of submodules. There are alternatives like "subtrees" and Google's "repo" tool, but they come with their own drawbacks, most notably worse support from our toolchain. People involved back then may check out the "Reactos Git migration plan" and "Git Migration Decisions" Google Docs files from that time, as well as the mailing list discussions. There are also numerous blog posts about failed migrations to Git submodules. Let me quote from our decisions back then: * "There are no modules yet that can be built on their own or which are big enough to justify a split from the main repository at this point." * "components should only be split into separate repo if the component factored out is useful on its own [and] if the component is HUGE and optional" So if people still want to split off components into separate repositories, we first have to do our homework. In my opinion, this includes: * Providing a minimal CMake-based ReactOS SDK that can compile both a single component like Paint and the entire OS. * Deciding on a generic structure for each submodule to come: README.md, directories, where bugs are filed, Continuous Integration For the bugs part, we could actually create a JIRA project for each submodule and move existing bugs there. Regarding Continuous Integration, our BuildBot should be made more flexible to accept in-tree configuration files (like Travis-CI). It would then be able to serve standalone projects as well. BuildBot 0.9.x supports "BuildBot Travis" for that. Of course, we could also go fully Travis-CI/AppVeyor, but then we're in serious trouble if they ever cease service. Additionally, jobs may be queued for a long time if their servers are overloaded. Finally, always consider whether a module serves a real purpose on its own. For instance, BTRFS is something Windows doesn't offer, so it has a huge exposure on GitHub. On the contrary, NTFS is something Windows can usually do better, so our own NTFS driver may hardly be popular as a separate project. However, I would love to be proven wrong on this! Best regards, Colin _______________________________________________ Ros-dev mailing list [email protected] http://www.reactos.org/mailman/listinfo/ros-dev
signature.asc
(application/pgp-signature, 819 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJbY0quAAoJEBunTnBFa6Gp4nEQALE3VyO3TBfud6uZz+ykAiwL EMzKA1XlmcjuWyfVbMLoNV9wf/y+ClxjgiCgl1xmsfUCaoYzjc7lD1VMpI6HzMUr ZEV4BlZYDBvrtTROyAPAkHN3umuSlEBp8ZaCL944XMBgioidsDPtqMzCfFQbDcTq ZGhvALUqkPY8JVxVrqL31LBPRWVIg+QdXEELXYqOCLiduiWlxqpvChNdGxZfzsce jwFcEvj049/CjHVQF3WjCNh7rfmelSTTBxw5WHN7YFk5r063nb2v9Vf6B94t3QSb /B0yItIh8VvdZ7osK7IU4rTTr1e7UtHrzAJ5FH9Ia7Nw8PcqwmWudFpKW/uYKYW7 suHxnrUjArWIndKImGsrKyuEY6KKAIXfknNU5qQFmo2KoY5Tr8PtkP95Arm6OlwP xTKHXTwvq/PeuWdu+uzOnHYMq5jCzcEPzxasRwNCa7F3F5Wwl5u6L8b0SMTayuNn Xin9YWJpU2MBmw6ZAkvAaXbxFlYC7ZSsG4a9hGD3/oEAkDLt9t5b61nykmJ4v4Wq mBXqPAhudl3JHwB5faouln8mx/DvjA6KTkq+IlhcvmEx4CUcfoQOtG43vYUEAvsT ri4rGDjt9wjJ9BVZnvvlo7bBG4gR5eIcL4DnUiA8ifT6K83SyWMo8zLpczZa9I4B 5gwrLY5xFwYkIkiOGb4n =6WMZ -----END PGP SIGNATURE-----