Fix worktree creation handling
This commit is contained in:
11
src/lib.rs
11
src/lib.rs
@@ -474,15 +474,16 @@ pub fn add_worktree(
|
|||||||
|
|
||||||
let config = repo::read_worktree_root_config(directory)?;
|
let config = repo::read_worktree_root_config(directory)?;
|
||||||
|
|
||||||
let path = match subdirectory {
|
|
||||||
Some(dir) => dir.join(name),
|
|
||||||
None => Path::new(name).to_path_buf(),
|
|
||||||
};
|
|
||||||
|
|
||||||
if repo.find_worktree(&path).is_ok() {
|
if repo.find_worktree(&name).is_ok() {
|
||||||
return Err(format!("Worktree {} already exists", &name));
|
return Err(format!("Worktree {} already exists", &name));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let path = match subdirectory {
|
||||||
|
Some(dir) => directory.join(dir).join(name),
|
||||||
|
None => directory.join(Path::new(name).to_path_buf()),
|
||||||
|
};
|
||||||
|
|
||||||
let mut remote_branch_exists = false;
|
let mut remote_branch_exists = false;
|
||||||
|
|
||||||
let default_checkout = || repo.default_branch()?.to_commit();
|
let default_checkout = || repo.default_branch()?.to_commit();
|
||||||
|
|||||||
@@ -672,9 +672,9 @@ impl Repo {
|
|||||||
self.0.config().map_err(convert_libgit2_error)
|
self.0.config().map_err(convert_libgit2_error)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn find_worktree(&self, path: &Path) -> Result<(), String> {
|
pub fn find_worktree(&self, name: &str) -> Result<(), String> {
|
||||||
self.0
|
self.0
|
||||||
.find_worktree(path.to_str().expect("Worktree path is not valid utf-8"))
|
.find_worktree(&name)
|
||||||
.map_err(convert_libgit2_error)?;
|
.map_err(convert_libgit2_error)?;
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user