Replies: 2 comments 2 replies
-
As feared (but not articulated in my original comment), some diamond dependency problems arose from splitting out the Apple crates into their own repository. e.g. crates relying on tugger-file-manifest, x509-certificate, and more were pulling in a published version from the new repo and a development, filesystem relative version from the PyOxidizer repo. As soon as these streams crossed, compiler errors ensued. So, I'm now in the process of moving crates to their own repositories:
More crates may need to be moved. I'll know once I've shaved more of the yak. |
Beta Was this translation helpful? Give feedback.
-
I just pushed commits cf8c4fe..e744d0b to the
218 files changed, 138 insertions(+), 47012 deletions(-) GitHub issues for affected crates should have been moved as well. All 3 new repos were created as clones of this repo so full Git history with original commit SHA-1s is preserved. I thought this would be better than rewriting Git history and destroying SHA-1 references. It makes the repos a bit larger than they should be. But the repo isn't that large, so I think it is fine. |
Beta Was this translation helpful? Give feedback.
-
This project has evolved into a dumping ground of random open source projects that I've started.
While I'm a huge proponent of monorepos, there are limits to their usefulness, especially when there isn't more formal backing of a monorepo by a larger, more formal entity (like a company).
There has been growing tension among the projects in this repository. A lot of people care about the Python projects. A lot of people care about the Apple projects (especially
apple-codesign
). And a lot of people care about other random projects in this repository.While I'm personally in favor of the monorepo because it solves a lot of technical complexities (such as being able to make atomic commits touching multiple projects), I think the disjoint projects and target audiences is creating more problems than it is solving. It is constraining me from doing things that I think are healthy for projects' futures (such as adding maintainers). Therefore, I've decided to start breaking up this monorepository.
Initially, I'll be splitting out all the
apple-*
Rust crates into a new repository. This is tentatively https://github.com/indygreg/apple-platform-rs. However, I may promote this repository to its own GitHub organization in due time. Once I'm satisfied with the state of this new repository, I'll start transferring relevant issues to the new repository.There are some opportunities for additional crates to be split into their own repository (notably the cryptography and Linux packaging crates). I haven't made a decision about the future of these crates at this time. However, in my mind the writing is on the wall.
Beta Was this translation helpful? Give feedback.
All reactions