Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Monorepo #2014

Merged
merged 6 commits into from
Dec 17, 2019
Merged

Monorepo #2014

merged 6 commits into from
Dec 17, 2019

Conversation

brianc
Copy link
Owner

@brianc brianc commented Nov 28, 2019

This will likely contain quite a few more commits...just opening it now so I have a quick place to check on travis. I need to merge the most recent master in as it should help fix some of the travis things. My bad on branching off a previous commit!

@brianc brianc changed the title Bmc/monorepo Monorepo Nov 28, 2019
@brianc
Copy link
Owner Author

brianc commented Nov 28, 2019

I'm not planning on monorepoing everything in this one PR. I just want to get this main repo set up as if it were multiple packages at first. I still need to do a security announcment for the SSL verification and add some deprecation warnings in code for things going away in 8.0.

First thing I want to move into this is pg-pool because it's so coupled w/ this repo and even used in test for this repo in places.

@sehrope
Copy link
Contributor

sehrope commented Dec 3, 2019

I had an idea about maintaining history for the other repos as part of this monorepoization. For the core pg module there's nothing special to do (i.e. just move things into package/).

For the rest of them how about adding the current state of the other repo (ex: pg-pool) into a branch (ex: local-pg-pool), moving its code to its final package/ destination, and then having the merge commit into master have two parents commits (ex: master and local-pg-pool. I think that'd allow tracking back history across the file renames / moves.

@brianc
Copy link
Owner Author

brianc commented Dec 3, 2019

ohh good idea i'll do that!

@brianc
Copy link
Owner Author

brianc commented Dec 3, 2019

@sehrope I'll probably do each migration in a separate PR starting with the "small" ones (pg-cursor and pg-query-stream), then pg-pool and hopefully the docs too though I'm not suuuuper concerned about them being in their own repo.

@sehrope
Copy link
Contributor

sehrope commented Dec 3, 2019

Awesome. Yes that will lend itself nicely to separate follow-on PRs too as each would be just that one repo.

@charmander
Copy link
Collaborator

I was going to suggest git subtree for preserving full history – it’s built into Git now.

@brianc
Copy link
Owner Author

brianc commented Dec 17, 2019

I'll check out git subtree today. I'll do some experiments. Probably wont add those sub-modules here until over the holiday break next week. Thanks for the tips!

@brianc brianc merged commit 1b5f3e3 into master Dec 17, 2019
@brianc brianc deleted the bmc/monorepo branch December 17, 2019 16:32
@brianc
Copy link
Owner Author

brianc commented Dec 18, 2019

@charmander I looked at git subtree. It's nice it preserves full history. If I'm reading this correctly it seems like it does a merge commit which contains the commit messages of all existing commits in the old repo? Is that what you had in mind? I wouldn't want to continue using git subtree and actually maintaining two separate repos, but it looks like a great way to merge an existing repo in and have some tracking of what happened in it.

@charmander
Copy link
Collaborator

@brianc Yep, that’s exactly what I had in mind! :)

@brianc
Copy link
Owner Author

brianc commented Dec 18, 2019

sweet!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants