Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'helix-vcs/src/git.rs')
| -rw-r--r-- | helix-vcs/src/git.rs | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/helix-vcs/src/git.rs b/helix-vcs/src/git.rs index 6544c35c..189f6e22 100644 --- a/helix-vcs/src/git.rs +++ b/helix-vcs/src/git.rs @@ -11,7 +11,7 @@ use gix::dir::entry::Status; use gix::objs::tree::EntryKind; use gix::sec::trust::DefaultForLevel; use gix::status::{ - index_worktree::Item, + index_worktree::iter::Item, plumbing::index_as_worktree::{Change, EntryStatus}, UntrackedFiles, }; @@ -45,7 +45,7 @@ pub fn get_diff_base(file: &Path) -> Result<Vec<u8>> { let data = file_object.detach().data; // Get the actual data that git would make out of the git object. // This will apply the user's git config or attributes like crlf conversions. - if let Some(work_dir) = repo.workdir() { + if let Some(work_dir) = repo.work_dir() { let rela_path = file.strip_prefix(work_dir)?; let rela_path = gix::path::try_into_bstr(rela_path)?; let (mut pipeline, _) = repo.filter_pipeline(None)?; @@ -128,7 +128,7 @@ fn open_repo(path: &Path) -> Result<ThreadSafeRepository> { /// Emulates the result of running `git status` from the command line. fn status(repo: &Repository, f: impl Fn(Result<FileChange>) -> bool) -> Result<()> { let work_dir = repo - .workdir() + .work_dir() .ok_or_else(|| anyhow::anyhow!("working tree not found"))? .to_path_buf(); @@ -144,7 +144,6 @@ fn status(repo: &Repository, f: impl Fn(Result<FileChange>) -> bool) -> Result<( copies: None, percentage: Some(0.5), limit: 1000, - ..Default::default() })); // No filtering based on path @@ -162,7 +161,7 @@ fn status(repo: &Repository, f: impl Fn(Result<FileChange>) -> bool) -> Result<( } => { let path = work_dir.join(rela_path.to_path()?); match status { - EntryStatus::Conflict { .. } => FileChange::Conflict { path }, + EntryStatus::Conflict(_) => FileChange::Conflict { path }, EntryStatus::Change(Change::Removed) => FileChange::Deleted { path }, EntryStatus::Change(Change::Modification { .. }) => { FileChange::Modified { path } @@ -195,7 +194,7 @@ fn status(repo: &Repository, f: impl Fn(Result<FileChange>) -> bool) -> Result<( /// Finds the object that contains the contents of a file at a specific commit. fn find_file_in_commit(repo: &Repository, commit: &Commit, file: &Path) -> Result<ObjectId> { - let repo_dir = repo.workdir().context("repo has no worktree")?; + let repo_dir = repo.work_dir().context("repo has no worktree")?; let rel_path = file.strip_prefix(repo_dir)?; let tree = commit.tree()?; let tree_entry = tree |