private void OnChanged(object sender, FileSystemEventArgs fileSystemEventArgs) { lock (_lock) { if (!fileSystemEventArgs.FullPath.Contains(".cache")) //TODO: confirm this won't affect files names my MyVi.cache.gvi { switch (fileSystemEventArgs.ChangeType) { case WatcherChangeTypes.Deleted: _svnManager.Remove(fileSystemEventArgs.FullPath); _svnManager.UpdateCache(); break; case WatcherChangeTypes.Created: //Physical add means we and to perform a svn add if we are in the project var s = fileSystemEventArgs.FullPath.Split('\\'); Array.Resize(ref s, s.Length - 1); var path = ""; foreach (var item in s) { path = path + item + "\\"; } //if (path != svnCommitPath) //{ _svnManager.AddToCache(fileSystemEventArgs.FullPath); //} break; case WatcherChangeTypes.Changed: //if (e.FullPath == fullPath) //{ _svnManager.UpdateCache(fileSystemEventArgs.FullPath); //} break; } } //previousEventType = e.ChangeType; } }