Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Single repository? #76

Closed
bradleybeddoes opened this issue Dec 22, 2017 · 4 comments
Closed

Single repository? #76

bradleybeddoes opened this issue Dec 22, 2017 · 4 comments

Comments

@bradleybeddoes
Copy link
Contributor

bradleybeddoes commented Dec 22, 2017

This ticket represents an idea I had, that I'd like to open up to the Gotham community to consider pros and cons.

I was reviewing https://github.com/gotham-rs and it strikes me that even at this early stage we have a number of repositories with a lot of duplication on things like licenses, contribution guidelines, issue triage etc.

There may be some way we can reasonably combine most, if not all of these into a single repository (this one) which may (or may not!) make for easier long term management of the project.

The structure for a single repository is currently unclear to me but it would need to making working with the following accessible for both people and tools:

  • The gotham and gotham_derive crates, via cargo;
  • Additional crates, such as middlewares that are being maintained by the Gotham core team, again via cargo;
  • Documentation, especially that which is published as the Gotham book;
  • Community policies; and
  • The Gotham website, which is hosted by GitHub.

All comments welcome.

@bradleybeddoes bradleybeddoes changed the title Discussion: Single repository? Single repository? Dec 22, 2017
@smangelsdorf
Copy link
Contributor

Any precedent for this kind of setup? Another project we could take inspiration / ideas / lessons from (positive or negative)?

@r-bar
Copy link
Contributor

r-bar commented Dec 22, 2017

Diesel hosts a half dozen crates out of their main repository. Their main repo contains code along the lines of your points (1) and (2). Their website (5) sits in a separate repo. They do not have a book (3) or community guidelines (4) outside a CONTRIBUTING.md which sits in their main repo. I would consider Diesel to be a large and successful Rust project.

My personal feelings on this are Cargo does a good job of only downloading what is needed to compile the crate when the repo is setup in workspace mode. I also think this would simplify working with unpublished Gotham. Right now I have a forked version of gotham-middleware-diesel just because all of the dependencies are relative file paths which makes it more manual to fork and extend unpublished components. Workspaces solves this. Working with unpublished Diesel components in a workspace has, in my experience, been much easier than unpublished Gotham components.

In conclusion I am in strong support of all official library components of Gotham being consolidated into a single repo. I am less opinionated about the documentation and website, but given the choice would probably leave them separate.

@bradleybeddoes
Copy link
Contributor Author

bradleybeddoes commented Dec 30, 2017

Thanks @r-bar it seems like Cargo workspaces would solve this issue and allow use to move to a single repository like diesel.

Unless there are any folks against such an approach I propose the next step would be for me to propose a PR that combines most repositories under gotham-rs

+/- please, will review in a few days time.

@jugglerchris
Copy link

I'd personally find it useful as a way of finding the related pieces (as a newbie).

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

4 participants