summaryrefslogtreecommitdiff
path: root/helix-vcs
diff options
context:
space:
mode:
authorSebastian Thiel2023-02-20 15:48:13 +0000
committerBlaž Hrastnik2023-03-05 06:54:02 +0000
commitac9e0b39f2d217f1c40a7e536e15009b21423610 (patch)
tree700ffab480ae69a2bf86eaf1440e149c40e08c84 /helix-vcs
parent725d9aecf08262e83553e54aa57d9bbec4841c80 (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.toml4
-rw-r--r--helix-vcs/src/git.rs21
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()];
}