Skip to content

Move to monorepo structure? #45

@TheLostLambda

Description

@TheLostLambda

I think it would be a lot more reasonable if things like mzdata and mzpeaks lived in the same Git repository!

Cargo has good support for "workspaces", where you can have several different crates in the same repository, and I've merged repositories (retaining and merging their git histories) before. My project, for example, has a number of crates in the same repo: https://github.com/TheLostLambda/pgfinder-next/tree/main/crates.

The practical annoyance that has driven me to this suggestion is working on #43, then realizing that I can't change mzdata until I've changed mzpeaks, and to do that I'll need to fork and clone a different repository, make those changes, commit those changes, have you accept and merge a pr, publish a version, then I can update mzdatas dependency and fix #43.

This also comes with the benefits of:

  • Increasing discoverability (I found mzdata early on, but had no idea mzdeisotope or mzpeaks or mass-fragment-index existed for months!)
  • One issue tracker and place for PRs
  • One CI configuration, so it's easy to keep things consistent (and catch any changes in one crate that break another one)
  • You can publish all of the crates at once if needed

Let me know what you think! I've merged together separate repos before like this, and it's always made the project way, way nicer for me to work on!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions