mirror of
https://github.com/helix-editor/helix.git
synced 2024-11-22 09:26:19 +04:00
properly handle detachted git worktrees (#5097)
This commit is contained in:
parent
0e8ea13696
commit
70d78123b9
@ -69,7 +69,7 @@ pub fn find_root(root: Option<&str>, root_markers: &[String]) -> std::path::Path
|
||||
top_marker = Some(ancestor);
|
||||
}
|
||||
|
||||
if ancestor.join(".git").is_dir() {
|
||||
if ancestor.join(".git").exists() {
|
||||
// Top marker is repo root if not root marker was detected yet
|
||||
if top_marker.is_none() {
|
||||
top_marker = Some(ancestor);
|
||||
|
@ -263,7 +263,7 @@ fn fetch_grammar(grammar: GrammarConfiguration) -> Result<FetchStatus> {
|
||||
))?;
|
||||
|
||||
// create the grammar dir contains a git directory
|
||||
if !grammar_dir.join(".git").is_dir() {
|
||||
if !grammar_dir.join(".git").exists() {
|
||||
git(&grammar_dir, ["init"])?;
|
||||
}
|
||||
|
||||
|
@ -97,7 +97,7 @@ pub fn find_local_config_dirs() -> Vec<PathBuf> {
|
||||
let mut directories = Vec::new();
|
||||
|
||||
for ancestor in current_dir.ancestors() {
|
||||
if ancestor.join(".git").is_dir() {
|
||||
if ancestor.join(".git").exists() {
|
||||
directories.push(ancestor.to_path_buf());
|
||||
// Don't go higher than repo if we're in one
|
||||
break;
|
||||
|
@ -207,7 +207,7 @@ pub fn file_picker(root: PathBuf, config: &helix_view::editor::Config) -> FilePi
|
||||
|
||||
// Cap the number of files if we aren't in a git project, preventing
|
||||
// hangs when using the picker in your home directory
|
||||
let files: Vec<_> = if root.join(".git").is_dir() {
|
||||
let files: Vec<_> = if root.join(".git").exists() {
|
||||
files.collect()
|
||||
} else {
|
||||
// const MAX: usize = 8192;
|
||||
|
Loading…
Reference in New Issue
Block a user