diff options
author | Sebastian Thiel | 2023-02-20 15:48:13 +0000 |
---|---|---|
committer | Blaž Hrastnik | 2023-03-05 06:54:02 +0000 |
commit | ac9e0b39f2d217f1c40a7e536e15009b21423610 (patch) | |
tree | 700ffab480ae69a2bf86eaf1440e149c40e08c84 /helix-vcs | |
parent | 725d9aecf08262e83553e54aa57d9bbec4841c80 (diff) |
upgrade `git-repository` to `gix` 0.36.1; up min. rustc version to 1.64
This fixes breakage when installing `helix` due to an incorrect usage of
`as_ref()` when interacting with `bstr` in the `gitoxide` codebase.
However, this upgrade also requires a higher rustc version, as `gitoxide`
recently updated its `windows` crate version.
Diffstat (limited to 'helix-vcs')
-rw-r--r-- | helix-vcs/Cargo.toml | 4 | ||||
-rw-r--r-- | helix-vcs/src/git.rs | 21 |
2 files changed, 12 insertions, 13 deletions
diff --git a/helix-vcs/Cargo.toml b/helix-vcs/Cargo.toml index c4d6eb45..ad8005d1 100644 --- a/helix-vcs/Cargo.toml +++ b/helix-vcs/Cargo.toml @@ -16,13 +16,13 @@ helix-core = { version = "0.6", path = "../helix-core" } tokio = { version = "1", features = ["rt", "rt-multi-thread", "time", "sync", "parking_lot", "macros"] } parking_lot = "0.12" -git-repository = { version = "0.32", default-features = false , optional = true } +gix= { version = "0.36.1", default-features = false , optional = true } imara-diff = "0.1.5" log = "0.4" [features] -git = ["git-repository"] +git = ["gix"] [dev-dependencies] tempfile = "3.4"
\ No newline at end of file diff --git a/helix-vcs/src/git.rs b/helix-vcs/src/git.rs index 432159b6..2a540c8d 100644 --- a/helix-vcs/src/git.rs +++ b/helix-vcs/src/git.rs @@ -1,9 +1,8 @@ use std::path::Path; -use git::objs::tree::EntryMode; -use git::sec::trust::DefaultForLevel; -use git::{Commit, ObjectId, Repository, ThreadSafeRepository}; -use git_repository as git; +use gix::objs::tree::EntryMode; +use gix::sec::trust::DefaultForLevel; +use gix::{Commit, ObjectId, Repository, ThreadSafeRepository}; use crate::DiffProvider; @@ -15,13 +14,13 @@ pub struct Git; impl Git { fn open_repo(path: &Path, ceiling_dir: Option<&Path>) -> Option<ThreadSafeRepository> { // custom open options - let mut git_open_opts_map = git::sec::trust::Mapping::<git::open::Options>::default(); + let mut git_open_opts_map = gix::sec::trust::Mapping::<gix::open::Options>::default(); // On windows various configuration options are bundled as part of the installations // This path depends on the install location of git and therefore requires some overhead to lookup // This is basically only used on windows and has some overhead hence it's disabled on other platforms. // `gitoxide` doesn't use this as default - let config = git::permissions::Config { + let config = gix::permissions::Config { system: true, git: true, user: true, @@ -30,16 +29,16 @@ impl Git { git_binary: cfg!(windows), }; // change options for config permissions without touching anything else - git_open_opts_map.reduced = git_open_opts_map.reduced.permissions(git::Permissions { + git_open_opts_map.reduced = git_open_opts_map.reduced.permissions(gix::Permissions { config, - ..git::Permissions::default_for_level(git::sec::Trust::Reduced) + ..gix::Permissions::default_for_level(gix::sec::Trust::Reduced) }); - git_open_opts_map.full = git_open_opts_map.full.permissions(git::Permissions { + git_open_opts_map.full = git_open_opts_map.full.permissions(gix::Permissions { config, - ..git::Permissions::default_for_level(git::sec::Trust::Full) + ..gix::Permissions::default_for_level(gix::sec::Trust::Full) }); - let mut open_options = git::discover::upwards::Options::default(); + let mut open_options = gix::discover::upwards::Options::default(); if let Some(ceiling_dir) = ceiling_dir { open_options.ceiling_dirs = vec![ceiling_dir.to_owned()]; } |