-
Notifications
You must be signed in to change notification settings - Fork 389
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
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. |
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
libgit2
to v1.8.1, in preparation for #1031. I've bumpedlibgit2-sys
to0.17.0+1.8.1
, but haven't touched thegit2
version 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 getgit2
working withlibgit2
v1.8.1.API changes:
Remote
:update_tips
now accepts aRemoteUpdateFlags
which is an integer consisting of bitfields instead of a booleanFetchOptions
: addreport_unchanged
method which updates theupdate_flags
bitflag (similar to above)PushOptions
: addremote_push_options
method to set remote push optionsWorktreeAddOptions
: addcheckout_existing
method to set the booleancheckout_existing
optionReferences