protected override void Run(string filename) { using (SvnClientWrapper client = new SvnClientWrapper()) { string propertyValue = client.GetPropertyValue(Path.GetDirectoryName(filename), "svn:ignore"); if (propertyValue != null) { ProjectWatcher watcher = WatchProjects(); string shortFileName = Path.GetFileName(filename); StringBuilder b = new StringBuilder(); using (StringReader r = new StringReader(propertyValue)) { string line; while ((line = r.ReadLine()) != null) { if (!string.Equals(line, shortFileName, StringComparison.OrdinalIgnoreCase)) { b.AppendLine(line); } } } client.SetPropertyValue(Path.GetDirectoryName(filename), "svn:ignore", b.ToString()); MessageService.ShowMessageFormatted("${res:AddIns.Subversion.ItemRemovedFromIgnoreList}", shortFileName); watcher.Callback(); } } }