Compare commits
3 Commits
c97adefeb4
...
74a7772a29
| Author | SHA1 | Date | |
|---|---|---|---|
| 74a7772a29 | |||
| 5df6dcb053 | |||
| 5f98061581 |
16
src/lib.rs
16
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)));
|
||||||
@@ -395,7 +387,7 @@ fn add_repo_status(table: &mut Table, repo_name: &str, repo_handle: &git2::Repos
|
|||||||
}
|
}
|
||||||
out.into_iter().collect::<String>().trim().to_string()
|
out.into_iter().collect::<String>().trim().to_string()
|
||||||
},
|
},
|
||||||
None => String::from("No changes"),
|
None => String::from("\u{2714}"),
|
||||||
},
|
},
|
||||||
&repo_status.branches.iter().map(|(branch_name, remote_branch)| {
|
&repo_status.branches.iter().map(|(branch_name, remote_branch)| {
|
||||||
format!("branch: {}{}\n",
|
format!("branch: {}{}\n",
|
||||||
|
|||||||
@@ -237,7 +237,7 @@ pub fn get_repo_status(repo: &git2::Repository) -> RepoStatus {
|
|||||||
false => Some(repo.head().unwrap().shorthand().unwrap().to_string()),
|
false => Some(repo.head().unwrap().shorthand().unwrap().to_string()),
|
||||||
};
|
};
|
||||||
|
|
||||||
let statuses = repo.statuses(None).unwrap();
|
let statuses = repo.statuses(Some(git2::StatusOptions::new().include_ignored(false))).unwrap();
|
||||||
|
|
||||||
let changes = match statuses.is_empty() {
|
let changes = match statuses.is_empty() {
|
||||||
true => None,
|
true => None,
|
||||||
@@ -264,6 +264,9 @@ pub fn get_repo_status(repo: &git2::Repository) -> RepoStatus {
|
|||||||
files_deleted += 1;
|
files_deleted += 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (files_new, files_modified, files_deleted) == (0, 0, 0) {
|
||||||
|
panic!("is_empty() returned true, but no file changes were detected. This is a bug!");
|
||||||
|
}
|
||||||
Some(RepoChanges {
|
Some(RepoChanges {
|
||||||
files_new,
|
files_new,
|
||||||
files_modified,
|
files_modified,
|
||||||
|
|||||||
Reference in New Issue
Block a user