internal void Open(string directory)
{
workingDirectory = directory;
var gitDir = RepositoryManager.GetGitRepository(directory);
tracker = new GitFileStatusTracker(gitDir);
if (tracker.IsGit) directory = tracker.WorkingDirectory;
if (Directory.Exists(directory))
{
if (fileSystemWatcher != null) { fileSystemWatcher.Dispose(); }
fileSystemWatcher = new FileSystemWatcher(directory);
fileSystemWatcher.IncludeSubdirectories = true;
//fileSystemWatcher.Created += new FileSystemEventHandler(fileSystemWatcher_Changed);
fileSystemWatcher.Deleted += new FileSystemEventHandler(fileSystemWatcher_Changed);
//fileSystemWatcher.Renamed += new FileSystemEventHandler(fileSystemWatcher_Changed);
fileSystemWatcher.Changed += new FileSystemEventHandler(fileSystemWatcher_Changed);
fileSystemWatcher.EnableRaisingEvents = true;
}
GraphChanged(this, null);
}