diff --git a/src-tauri/src/watchers/git.rs b/src-tauri/src/watchers/git.rs index 688e47881..2744bea58 100644 --- a/src-tauri/src/watchers/git.rs +++ b/src-tauri/src/watchers/git.rs @@ -23,12 +23,14 @@ impl GitWatcher { } } - pub fn watch(&self, window: tauri::Window, project_id: String) -> Result<()> { + pub fn watch(&self, window: tauri::Window, project: projects::Project) -> Result<()> { + log::info!("Watching git for {}", project.path); + let shared_self = std::sync::Arc::new(self.clone()); let self_copy = shared_self.clone(); + let project_id = project.id; thread::spawn(move || loop { - log::info!("Watching git for {}", project.path); let local_self = &self_copy; let project = local_self.projects_storage.get_project(&project_id); diff --git a/src-tauri/src/watchers/mod.rs b/src-tauri/src/watchers/mod.rs index 014e27027..934d4458d 100644 --- a/src-tauri/src/watchers/mod.rs +++ b/src-tauri/src/watchers/mod.rs @@ -27,7 +27,7 @@ impl<'a> Watcher<'a> { pub fn watch(&self, window: tauri::Window, project: &projects::Project) -> Result<()> { self.delta_watcher.watch(window.clone(), project.clone())?; - self.git_watcher.watch(window.clone(), project.id.clone())?; + self.git_watcher.watch(window.clone(), project.clone())?; Ok(()) }