-
Notifications
You must be signed in to change notification settings - Fork 430
libgit2: Bump to v1.8.1 #1032
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
libgit2: Bump to v1.8.1 #1032
Conversation
This commit changes the original `ssh` feature into two new ones:
`ssh-libssh2` and `ssh-openssh`. By default, the `ssh-libssh2` feature
is enabled for backwards compatibility.
To use OpenSSH instead, the following listing in `Cargo.toml` can be
used:
git2-rs = { version = "...", default-features = false, features = ["https", "ssh-openssh"] }
This commit is stacked on top of rust-lang#1032, and should only be merged after
libgit2 v1.8.0 has been released.
Closes rust-lang#1028.
This commit changes the original `ssh` feature into two new ones:
`ssh-libssh2` and `ssh-openssh`. By default, the `ssh-libssh2` feature
is enabled for backwards compatibility.
To use OpenSSH instead, the following listing in `Cargo.toml` can be
used:
git2-rs = { version = "...", default-features = false, features = ["https", "ssh-openssh"] }
This commit is stacked on top of rust-lang#1032, and should only be merged after
libgit2 v1.8.0 has been released.
Closes rust-lang#1028.
|
Looks like the current test failures are due to changes made in libgit2/libgit2#6743 👀 |
This commit changes the original `ssh` feature into two new ones:
`ssh-libssh2` and `ssh-openssh`. By default, the `ssh-libssh2` feature
is enabled for backwards compatibility.
To use OpenSSH instead, the following listing in `Cargo.toml` can be
used:
git2-rs = { version = "...", default-features = false, features = ["https", "ssh-openssh"] }
This commit is stacked on top of rust-lang#1032, and should only be merged after
libgit2 v1.8.0 has been released.
Closes rust-lang#1028.
f4549ca to
7d0742e
Compare
|
Looks like v1.8.0 is out! I will update the PR to bump the version. |
7d0742e to
619fc02
Compare
619fc02 to
67a64a1
Compare
67a64a1 to
3c4b106
Compare
|
This should be ready for review. (I'm pretty new to Rust and the The test failures on Windows are related to libgit2/libgit2#6743 as mentioned above—I'm not too sure how to handle these conventionally using Rust. |
Hm, that's awkward. I don't really understand why TempDir is returning short path. One option is to |
44e8b35 to
bb75668
Compare
|
FYI, this blocks the upgrade of libgit2 to 1.8.0 in Alpine Linux (!63296). |
|
Is this PR still blocked? |
|
Approved 2 weeks ago, but still not merged… why? |
|
@jirutka libgit 1.8.0 has used C bitfields in its ABI, and that feature is not supported by Rust's FFI and may be compiler-specific. |
This includes a hacky solution since the `update_flag` field uses C bitfields, which are not natively supported in Rust.
|
libgit2 v1.8.1 was just released, and I've updated the PR to use that. Bitfields are no longer used in the new version, so we can avoid any hacks. |
ehuss
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
This PR bumps
libgit2to v1.8.1, in preparation for #1031. I've bumpedlibgit2-systo0.17.0+1.8.1, but haven't touched thegit2version since I thought that's better left for the maintainers.I haven't included any new Rust bindings for the new functions (e.g.
git_commit_create_from_stage). Basically I've just done the bare minimum required to getgit2working withlibgit2v1.8.1.API changes:
Remote:update_tipsnow accepts aRemoteUpdateFlagswhich is an integer consisting of bitfields instead of a booleanFetchOptions: addreport_unchangedmethod which updates theupdate_flagsbitflag (similar to above)PushOptions: addremote_push_optionsmethod to set remote push optionsWorktreeAddOptions: addcheckout_existingmethod to set the booleancheckout_existingoptionReferences