summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSarthakSingh31 <35749450+SarthakSingh31@users.noreply.github.com>2020-10-14 09:12:41 -0700
committerGitHub <noreply@github.com>2020-10-14 12:12:41 -0400
commita73d7140eb74ffaebcc170e022a3a172e8ad41b3 (patch)
tree5db45706b64582d7ca546ebd7ea7c1d0cd0c4832
parent2582b7e6c270507abcb4cb6e919d5c19ebf1600b (diff)
perf(git_status): Improved git_status module performance (#1777)
-rw-r--r--src/modules/git_status.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/modules/git_status.rs b/src/modules/git_status.rs
index 621d3e608..c555ce904 100644
--- a/src/modules/git_status.rs
+++ b/src/modules/git_status.rs
@@ -152,9 +152,9 @@ impl<'a> GitStatusInfo<'a> {
}
{
+ let mut data = self.ahead_behind.write().unwrap();
let repo = self.get_repository()?;
let branch_name = self.get_branch_name();
- let mut data = self.ahead_behind.write().unwrap();
*data = Some(get_ahead_behind(&repo, &branch_name));
match data.as_ref().unwrap() {
Ok(ahead_behind) => Some(*ahead_behind),
@@ -181,8 +181,8 @@ impl<'a> GitStatusInfo<'a> {
}
{
- let mut repo = self.get_repository()?;
let mut data = self.repo_status.write().unwrap();
+ let mut repo = self.get_repository()?;
*data = Some(get_repo_status(&mut repo));
match data.as_ref().unwrap() {
Ok(repo_status) => Some(*repo_status),
@@ -209,8 +209,8 @@ impl<'a> GitStatusInfo<'a> {
}
{
- let mut repo = self.get_repository()?;
let mut data = self.stashed_count.write().unwrap();
+ let mut repo = self.get_repository()?;
*data = Some(get_stashed_count(&mut repo));
match data.as_ref().unwrap() {
Ok(stashed_count) => Some(*stashed_count),
@@ -249,6 +249,7 @@ impl<'a> GitStatusInfo<'a> {
/// Gets the number of files in various git states (staged, modified, deleted, etc...)
fn get_repo_status(repository: &mut Repository) -> Result<RepoStatus, git2::Error> {
+ log::debug!("New repo status created");
let mut status_options = git2::StatusOptions::new();
let mut repo_status = RepoStatus::default();