-
Notifications
You must be signed in to change notification settings - Fork 202
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
Unlink geo-types from the rest of the crates #798
Conversation
Remove `geo-types` patches in `Cargo.toml` files, so that `geo-types` is now completelly separated from the rest of the code. This should be reverted once geo-types 0.8+ is released.
What's the goal of removing patching? It's a pretty commonly used approach. And if someone is building within the georust/geo workspace (as in they've checked out the code and are in that directory when they run cargo foo) it's likely they are wanting to use the code in that directory, not whatever has been published to crates. |
@michaelkirk this method was initially suggested by @frewsxcv in #742 (comment) -- and it worked wonderfully, without requiring patches that pointed to unreleased git branches. This makes it possible to cleanly review, merge, and release |
Just to make sure we're on the same page here, the changes in this commit will only affect people who have checked out this repository and are running cargo commands from within their checked out workspace. Right? I don't think it's inherently bad to build unreleased dependencies when building unreleased code. And actually, I think it's what most people expect. That's why it's set up that way. I expect this change will be worse for most people. |
yes -- only devs working with this repo will temporarily (until this PR is reverted) will be affected. But doing it this way we ensure that we can cleanly isolate the entire "PR→review→merge→publish" cycle for the
I kinda agree with you here, but only if we would have had all round-about dependencies (proj & wkt) together in one mono-repo. All code would then be easily changed at once, and CI would ensure internal repo consistency. I think linking to other repo's unreleased/unmerged code violates this CI consistency, and might cause more concerns than to solve them. |
To help me understand, can you lay out a specific "bad" scenario that might plausibly arise if we did not merge this PR? |
The biggest issues I think are the scope creep, difficulty of review, less certainty in CI's results, and historical revision stability.
|
As I understand it, the scenario of concern is: If the unreleased commits in the dependency (e.g. proj) get deleted, then people might not be able to build the unreleased commits in this library. Is that right? |
It turns out this is a moot point! The moment cc: @categulario @urschrei -- two latest contributors to P.S. For the sake of completeness -- @michaelkirk , you are correct. Plus another scenario -- someone in the future tries to find the source of a bug using |
I'm still not really sold on the changes in this PR. I expect people who have checked out the repo and are building the local workspace are going to be surprised when using geo-types other than what's in the repo.
But I have no reservations about shepherding along a proj release, if that's helpful! georust/proj#123 |
123: Prepare for 0.26.0 release. r=urschrei a=michaelkirk Anything else we should be waiting for before the 0.26.0 release? `@nyurik` mentioned that releasing this makes some things simpler for them: georust/geo#798 (comment) Co-authored-by: Michael Kirk <[email protected]>
Closing for inactivity. Feel free to reopen if you resume work on this. |
Remove
geo-types
patches inCargo.toml
files, so thatgeo-types
is now completelly separated from the rest of the code.This should be reverted once geo-types 0.8+ is released.
This PR makes it easier to review unlinking part, in preparation for #797 and #772
- [ ] I added an entry toCHANGES.md
if knowledge of this change could be valuable to users.