public static void SwitchToBranch (GitRepository repo, string branch) { MessageDialogProgressMonitor monitor = new MessageDialogProgressMonitor (true, false, false, true); try { IdeApp.Workbench.AutoReloadDocuments = true; IdeApp.Workbench.LockGui (); System.Threading.ThreadPool.QueueUserWorkItem (delegate { try { repo.SwitchToBranch (monitor, branch); } catch (Exception ex) { monitor.ReportError ("Branch switch failed", ex); } finally { monitor.Dispose (); } }); monitor.AsyncOperation.WaitForCompleted (); } finally { IdeApp.Workbench.AutoReloadDocuments = false; IdeApp.Workbench.UnlockGui (); } }
protected override void Run () { var dlg = new NewStashDialog (); try { if (MessageService.RunCustomDialog (dlg) == (int) Gtk.ResponseType.Ok) { string comment = dlg.Comment; var monitor = new MessageDialogProgressMonitor (true, false, false, true); var statusTracker = IdeApp.Workspace.GetFileStatusTracker (); ThreadPool.QueueUserWorkItem (delegate { try { Stash stash; if (Repository.TryCreateStash (monitor, comment, out stash)) { string msg; if (stash != null) { msg = GettextCatalog.GetString ("Changes successfully stashed"); } else { msg = GettextCatalog.GetString ("No changes were available to stash"); } DispatchService.GuiDispatch (delegate { IdeApp.Workbench.StatusBar.ShowMessage (msg); }); } } catch (Exception ex) { MessageService.ShowError (GettextCatalog.GetString ("Stash operation failed"), ex); } finally { monitor.Dispose (); statusTracker.Dispose (); } }); } } finally { dlg.Destroy (); dlg.Dispose (); } }
protected override void Run () { var monitor = new MessageDialogProgressMonitor (true, false, false, true); var statusTracker = IdeApp.Workspace.GetFileStatusTracker (); ThreadPool.QueueUserWorkItem (delegate { try { GitService.ReportStashResult (Repository.PopStash (monitor, 0)); } catch (Exception ex) { MessageService.ShowError (GettextCatalog.GetString ("Stash operation failed"), ex); } finally { monitor.Dispose (); statusTracker.Dispose (); } }); }
protected override void Run () { var stashes = Repository.GetStashes (); NewStashDialog dlg = new NewStashDialog (); if (MessageService.RunCustomDialog (dlg) == (int) Gtk.ResponseType.Ok) { string comment = dlg.Comment; MessageDialogProgressMonitor monitor = new MessageDialogProgressMonitor (true, false, false, true); var statusTracker = IdeApp.Workspace.GetFileStatusTracker (); ThreadPool.QueueUserWorkItem (delegate { try { using (var gm = new GitMonitor (monitor)) stashes.Create (gm, comment); } catch (Exception ex) { MessageService.ShowException (ex); } finally { monitor.Dispose (); statusTracker.NotifyChanges (); } }); } dlg.Destroy (); }
protected override void Run () { var stashes = Repository.GetStashes (); MessageDialogProgressMonitor monitor = new MessageDialogProgressMonitor (true, false, false, true); var statusTracker = IdeApp.Workspace.GetFileStatusTracker (); ThreadPool.QueueUserWorkItem (delegate { try { NGit.Api.MergeCommandResult result; using (var gm = new GitMonitor (monitor)) result = stashes.Pop (gm); GitService.ReportStashResult (monitor, result); } catch (Exception ex) { MessageService.ShowException (ex); } finally { monitor.Dispose (); statusTracker.NotifyChanges (); } }); }
public static Task<bool> ApplyStash (GitRepository repo, int s) { var monitor = new MessageDialogProgressMonitor (true, false, false, true); var statusTracker = IdeApp.Workspace.GetFileStatusTracker (); var t = Task.Run (delegate { try { var res = repo.ApplyStash (monitor, s); ReportStashResult (res); return true; } catch (Exception ex) { string msg = GettextCatalog.GetString ("Stash operation failed."); monitor.ReportError (msg, ex); return false; } finally { monitor.Dispose (); statusTracker.Dispose (); } }); return t; }
public async static Task<bool> SwitchToBranch (GitRepository repo, string branch) { var monitor = new MessageDialogProgressMonitor (true, false, false, true); try { IdeApp.Workbench.AutoReloadDocuments = true; IdeApp.Workbench.LockGui (); var t = await Task.Run (delegate { try { return repo.SwitchToBranch (monitor, branch); } catch (Exception ex) { monitor.ReportError (GettextCatalog.GetString ("Branch switch failed"), ex); return false; } finally { monitor.Dispose (); } }); return t; } finally { IdeApp.Workbench.AutoReloadDocuments = false; IdeApp.Workbench.UnlockGui (); } }
public static IAsyncOperation ApplyStash (Stash s) { MessageDialogProgressMonitor monitor = new MessageDialogProgressMonitor (true, false, false, true); var statusTracker = IdeApp.Workspace.GetFileStatusTracker (); ThreadPool.QueueUserWorkItem (delegate { try { NGit.Api.MergeCommandResult result; using (var gm = new GitMonitor (monitor)) result = s.Apply (gm); ReportStashResult (monitor, result); } catch (Exception ex) { string msg = GettextCatalog.GetString ("Stash operation failed."); monitor.ReportError (msg, ex); } finally { monitor.Dispose (); statusTracker.NotifyChanges (); } }); return monitor.AsyncOperation; }
public static void SwitchToBranch (GitRepository repo, string branch) { var monitor = new MessageDialogProgressMonitor (true, false, false, true); try { IdeApp.Workbench.AutoReloadDocuments = true; IdeApp.Workbench.LockGui (); Task.Run (delegate { try { repo.SwitchToBranch (monitor, branch); } catch (Exception ex) { monitor.ReportError ("Branch switch failed", ex); } finally { monitor.Dispose (); } }).Wait (); } finally { IdeApp.Workbench.AutoReloadDocuments = false; IdeApp.Workbench.UnlockGui (); } }
public static IAsyncOperation ApplyStash (GitRepository repo, int s) { var monitor = new MessageDialogProgressMonitor (true, false, false, true); var statusTracker = IdeApp.Workspace.GetFileStatusTracker (); ThreadPool.QueueUserWorkItem (delegate { try { ReportStashResult (repo.ApplyStash (monitor, s)); } catch (Exception ex) { string msg = GettextCatalog.GetString ("Stash operation failed."); monitor.ReportError (msg, ex); } finally { monitor.Dispose (); statusTracker.Dispose (); } }); return monitor.AsyncOperation; }