-
Notifications
You must be signed in to change notification settings - Fork 691
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
Update to libgit2 37dba1a #1041
Conversation
6934017
to
52593ca
Compare
52593ca
to
0451538
Compare
This updates NodeGit to use the latest Summary of changes that were brought in: libgit2/libgit2@37dba1aChanges or improvements
API additions
|
Edge releases help with migration so I'm 👍 to that idea |
Obligatory "I hate that our CI is so dependant on not having network latency" |
I knowwwwww. I should take a staycation just to fix it. |
Ditto. Maybe a staycation with network fixes and doc updates :) |
What do you think about tagging/publishing versions based off sha? Version could be like libgit2-37dba1a {
"dependencies": {
"nodegit": "libgit2-37dba1a"
}
} |
@tbranyen how would that work with semver and npm publish? |
The same way that alpha and beta releases work. Although I'm thinking this could/should be a third party provided service. Something like ... back on topic, we could tag the releases named to the SHA (they would correctly break semver), but I don't think it'd be trivial with our current setup. |
I was thinking of having a |
The issue with nodegit v 0.23.x matching libgit 0.23.x for example, is that what happens when we publish 0.23.4 to match libgit 0.23.4, but then we have more stuff to push to it? we'd have to go 0.23.5, but then if they get an 0.23.5, that tag is already taken. |
@maxkorp something I mentioned in Gitter was adopting the Arch Linux method of maintaining versions while also updating. They simply tack on a |
Hey @ashleygwilliams thanks for responding to me on Twitter. Our problem is outlined here, but the gist of it is that we tightly couple to the semantically versioned libgit2 project. We'd like to somehow marry the NodeGit version to the libgit2 version. This would be useful when libgit2 has massive overhauls and developers want to test changes before bumping to the next revision. Is there a best practice for our use case? We've had some discussion above, but it feels like npm has a solution for this we can follow. /cc @johnhaley81 can you fill any gaps I missed while writing this summary up? |
hey @tbranyen just to be clear on what you are trying to do, here's what i think i understand you want the workflow to be, in chronological order:
not entirely sure how to handle that yet given this solution that you've laid out. given that conflict,after talking this over with @soldair, it sounds like you really have 2 things that need to be versioned, |
@ashleygwilliams yeah you got what we're trying to do. the approach you mentioned is a really interesting idea. @johnhaley81 what do you think about separating the wrapper from the "library" and independently versioning them. I'll have to think a bit more about this since it wasn't an option I was considering before Edit: Thanks for your response! |
Sorry for the delay :) So a few more things to note, we'd like to have an "Edge" version that follow We could do something like |
npm does support sorting ranges of prerelease versions. But! please separate the prerelease fragment with a dash.
i may have missed the question but hope this helps =) |
@soldair thanks! Would we also be able to put the hash of the libgit2 commit in there as well? |
hey! this is not my mountain, but my 2 cents is that this is doing way too much with the version number. you've lost human readability (if you cared about that) and the complexity makes project onboarding and maintenance difficult. i would suggest going back to first principles of the problem you are trying to solve cuz it feels like we're in deep weeds now. |
We decided to backport fixes that don't break API for maintenance releases and have the rest of NodeGit move forward with edge releases. Thanks all for the input! |
No description provided.