Do not panic on empty remotes array
This commit is contained in:
14
src/lib.rs
14
src/lib.rs
@@ -74,8 +74,7 @@ fn sync_trees(config: Config) {
|
|||||||
process::exit(1);
|
process::exit(1);
|
||||||
}));
|
}));
|
||||||
} else {
|
} else {
|
||||||
match &repo.remotes {
|
if matches!(&repo.remotes, None) || repo.remotes.as_ref().unwrap().len().clone() == 0 {
|
||||||
None => {
|
|
||||||
print_repo_action(
|
print_repo_action(
|
||||||
&repo.name,
|
&repo.name,
|
||||||
"Repository does not have remotes configured, initializing new",
|
"Repository does not have remotes configured, initializing new",
|
||||||
@@ -93,14 +92,8 @@ fn sync_trees(config: Config) {
|
|||||||
None
|
None
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
Some(r) => {
|
let first = repo.remotes.as_ref().unwrap().first().unwrap();
|
||||||
let first = match r.first() {
|
|
||||||
Some(e) => e,
|
|
||||||
None => {
|
|
||||||
panic!("Repos is an empty array. This is a bug");
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
match clone_repo(first, &repo_path) {
|
match clone_repo(first, &repo_path) {
|
||||||
Ok(_) => {
|
Ok(_) => {
|
||||||
@@ -116,7 +109,6 @@ fn sync_trees(config: Config) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if let Some(remotes) = &repo.remotes {
|
if let Some(remotes) = &repo.remotes {
|
||||||
let repo_handle = repo_handle
|
let repo_handle = repo_handle
|
||||||
.unwrap_or_else(|| open_repo(&repo_path).unwrap_or_else(|_| process::exit(1)));
|
.unwrap_or_else(|| open_repo(&repo_path).unwrap_or_else(|_| process::exit(1)));
|
||||||
|
|||||||
Reference in New Issue
Block a user