示例#1
0
        public bool Execute()
        {
            int  mainline = MainlineParentCommit;
            bool noCommit = NoCommit;

            try
            {
                using (this.ChangeCursor(Cursors.WaitCursor))
                {
                    RevisionPointer.CherryPick(mainline, noCommit);
                }
            }
            catch (HaveConflictsException)
            {
                GitterApplication.MessageBoxService.Show(
                    this,
                    Resources.ErrCherryPickIsNotPossibleWithConflicts,
                    Resources.StrCherryPick,
                    MessageBoxButton.Close,
                    MessageBoxIcon.Error);
            }
            catch (HaveLocalChangesException)
            {
                GitterApplication.MessageBoxService.Show(
                    this,
                    Resources.ErrCherryPickIsNotPossibleWithLocalChnges,
                    Resources.StrCherryPick,
                    MessageBoxButton.Close,
                    MessageBoxIcon.Error);
            }
            catch (AutomaticCherryPickFailedException)
            {
                BeginInvoke(new Action(
                                () =>
                {
                    using (var dlg = new ConflictsDialog(RevisionPointer.Repository))
                    {
                        dlg.Run(GitterApplication.MainForm);
                    }
                }));
            }
            catch (GitException exc)
            {
                GitterApplication.MessageBoxService.Show(
                    this,
                    exc.Message,
                    string.Format(Resources.ErrFailedToCherryPick, RevisionPointer.Pointer),
                    MessageBoxButton.Close,
                    MessageBoxIcon.Error);
            }
            return(true);
        }
示例#2
0
 public void StartResolveConflictsDialog()
 {
     using(var dlg = new ConflictsDialog(_repository))
     {
         dlg.Run(_environment.MainForm);
     }
 }
示例#3
0
 public bool Execute()
 {
     int mainline	= MainlineParentCommit;
     bool noCommit	= NoCommit;
     try
     {
         using(this.ChangeCursor(Cursors.WaitCursor))
         {
             RevisionPointer.CherryPick(mainline, noCommit);
         }
     }
     catch(HaveConflictsException)
     {
         GitterApplication.MessageBoxService.Show(
             this,
             Resources.ErrCherryPickIsNotPossibleWithConflicts,
             Resources.StrCherryPick,
             MessageBoxButton.Close,
             MessageBoxIcon.Error);
     }
     catch(HaveLocalChangesException)
     {
         GitterApplication.MessageBoxService.Show(
             this,
             Resources.ErrCherryPickIsNotPossibleWithLocalChnges,
             Resources.StrCherryPick,
             MessageBoxButton.Close,
             MessageBoxIcon.Error);
     }
     catch(AutomaticCherryPickFailedException)
     {
         BeginInvoke(new Action(
             () =>
             {
                 using(var dlg = new ConflictsDialog(RevisionPointer.Repository))
                 {
                     dlg.Run(GitterApplication.MainForm);
                 }
             }));
     }
     catch(GitException exc)
     {
         GitterApplication.MessageBoxService.Show(
             this,
             exc.Message,
             string.Format(Resources.ErrFailedToCherryPick, RevisionPointer.Pointer),
             MessageBoxButton.Close,
             MessageBoxIcon.Error);
     }
     return true;
 }