summaryrefslogtreecommitdiff
path: root/src/bin/git-autosave-daemon.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/git-autosave-daemon.rs')
-rw-r--r--src/bin/git-autosave-daemon.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/bin/git-autosave-daemon.rs b/src/bin/git-autosave-daemon.rs
index a0066a5..39df4b8 100644
--- a/src/bin/git-autosave-daemon.rs
+++ b/src/bin/git-autosave-daemon.rs
@@ -2,7 +2,7 @@ use std::{collections::HashSet, time::Duration};
use auth_git2::GitAuthenticator;
use git_autosave::{Config, authenticate::Inquirer, commit_autosave, push_autosaves};
-use git2::{RemoteCallbacks, Repository};
+use git2::{RemoteCallbacks, Repository, StatusOptions};
use happylock::{Mutex, ThreadKey};
use notify::{EventKind, INotifyWatcher, RecursiveMode};
use notify_debouncer_full::{
@@ -126,6 +126,14 @@ impl DebounceEventHandler for Watcher {
if workdirs_to_autosave.contains(workdir) {
continue;
}
+ if let Ok(status) = repository.statuses(Some(
+ StatusOptions::new()
+ .include_untracked(true)
+ .include_ignored(false),
+ )) && status.is_empty()
+ {
+ continue;
+ }
log::info!("Updated path: {:?}", &path);
workdirs_to_autosave.insert(workdir.to_path_buf());