refactor: pass dirs to watcher directly

Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
leo 2025-03-17 16:29:56 +08:00
parent b4ab4afd3a
commit 7031693489
No known key found for this signature in database
3 changed files with 13 additions and 22 deletions

View file

@ -2,9 +2,6 @@
{
public interface IRepository
{
string FullPath { get; set; }
string GitDirForWatcher { get; }
void RefreshBranches();
void RefreshWorktrees();
void RefreshTags();

View file

@ -8,12 +8,12 @@ namespace SourceGit.Models
{
public class Watcher : IDisposable
{
public Watcher(IRepository repo)
public Watcher(IRepository repo, string fullpath, string gitDir)
{
_repo = repo;
_wcWatcher = new FileSystemWatcher();
_wcWatcher.Path = _repo.FullPath;
_wcWatcher.Path = fullpath;
_wcWatcher.Filter = "*";
_wcWatcher.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.DirectoryName | NotifyFilters.FileName | NotifyFilters.Size | NotifyFilters.CreationTime;
_wcWatcher.IncludeSubdirectories = true;
@ -24,7 +24,7 @@ namespace SourceGit.Models
_wcWatcher.EnableRaisingEvents = true;
_repoWatcher = new FileSystemWatcher();
_repoWatcher.Path = _repo.GitDirForWatcher;
_repoWatcher.Path = gitDir;
_repoWatcher.Filter = "*";
_repoWatcher.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.DirectoryName | NotifyFilters.FileName;
_repoWatcher.IncludeSubdirectories = true;