private void DiffOnClick(object sender, RoutedEventArgs e) { DiffView.Show(); }
private TestResult RunCommand(Commands cmd, bool test) { VersionControlItemList items = GetItems(); foreach (VersionControlItem it in items) { if (it.Repository == null) { if (cmd != Commands.Publish) { return(TestResult.NoVersionControl); } } else if (it.Repository.VersionControlSystem != null && !it.Repository.VersionControlSystem.IsInstalled) { return(TestResult.Disable); } } bool res = false; try { switch (cmd) { case Commands.Update: res = UpdateCommand.Update(items, test); break; case Commands.Diff: if (!test) { DiffView.Show(items); } else { res = DiffView.CanShow(items); } break; case Commands.Log: if (!test) { MonoDevelop.VersionControl.Views.LogView.Show(items, null); } else { res = MonoDevelop.VersionControl.Views.LogView.CanShow(items, null); } break; case Commands.Status: res = StatusView.Show(items, test); break; case Commands.Commit: res = CommitCommand.Commit(items, test); break; case Commands.Add: res = AddCommand.Add(items, test); break; case Commands.Remove: res = RemoveCommand.Remove(items, test); break; case Commands.Revert: res = RevertCommand.Revert(items, test); break; case Commands.Lock: res = LockCommand.Lock(items, test); break; case Commands.Unlock: res = UnlockCommand.Unlock(items, test); break; case Commands.Publish: VersionControlItem it = items [0]; if (items.Count == 1 && it.IsDirectory && it.WorkspaceObject != null) { res = PublishCommand.Publish(it.WorkspaceObject, it.Path, test); } break; case Commands.Annotate: res = BlameView.Show(items, test); break; case Commands.CreatePatch: res = CreatePatchCommand.CreatePatch(items, test); break; } } catch (Exception ex) { if (test) { LoggingService.LogError(ex.ToString()); } else { MessageService.ShowException(ex, GettextCatalog.GetString("Version control command failed.")); } return(TestResult.Disable); } return(res ? TestResult.Enable : TestResult.Disable); }