Fix git features not working when a Windows host collaborates with a unix guest (#43515)
We were using `std::path::Path::strip_prefix` to determine which repository an absolute path belongs to, which doesn't work when the paths are Windows-style but the code is running on unix. Replace it with a platform-agnostic implementation of `strip_prefix`. Release Notes: - Fixed git features not working when a Windows host collaborates with a unix guest
This commit is contained in:
@@ -3222,10 +3222,8 @@ impl RepositorySnapshot {
|
||||
abs_path: &Path,
|
||||
path_style: PathStyle,
|
||||
) -> Option<RepoPath> {
|
||||
abs_path
|
||||
.strip_prefix(&work_directory_abs_path)
|
||||
.ok()
|
||||
.and_then(|path| RepoPath::from_std_path(path, path_style).ok())
|
||||
let rel_path = path_style.strip_prefix(abs_path, work_directory_abs_path)?;
|
||||
Some(RepoPath::from_rel_path(&rel_path))
|
||||
}
|
||||
|
||||
pub fn had_conflict_on_last_merge_head_change(&self, repo_path: &RepoPath) -> bool {
|
||||
|
||||
Reference in New Issue
Block a user