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. |
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