GitUI.CommandsDialogs.FormBrowse.CheckForMergeConflicts C# (CSharp) Method

CheckForMergeConflicts() private method

private CheckForMergeConflicts ( ) : void
return void
        private void CheckForMergeConflicts()
        {
            bool validWorkingDir = Module.IsValidGitWorkingDir();

            if (validWorkingDir && Module.InTheMiddleOfBisect())
            {

                if (_bisect == null)
                {
                    _bisect = new WarningToolStripItem { Text = _warningMiddleOfBisect.Text };
                    _bisect.Click += BisectClick;
                    statusStrip.Items.Add(_bisect);
                }
            }
            else
            {
                if (_bisect != null)
                {
                    _bisect.Click -= BisectClick;
                    statusStrip.Items.Remove(_bisect);
                    _bisect = null;
                }
            }

            if (validWorkingDir &&
                (Module.InTheMiddleOfRebase() || Module.InTheMiddleOfPatch()))
            {
                if (_rebase == null)
                {
                    _rebase = new WarningToolStripItem
                    {
                        Text = Module.InTheMiddleOfRebase()
                            ? _warningMiddleOfRebase.Text
                            : _warningMiddleOfPatchApply.Text
                    };
                    _rebase.Click += RebaseClick;
                    statusStrip.Items.Add(_rebase);
                }
            }
            else
            {
                if (_rebase != null)
                {
                    _rebase.Click -= RebaseClick;
                    statusStrip.Items.Remove(_rebase);
                    _rebase = null;
                }
            }

            AsyncLoader.DoAsync(
                () => validWorkingDir && Module.InTheMiddleOfConflictedMerge() &&
                      !Directory.Exists(Module.GetGitDirectory() + "rebase-apply\\"),
                (result) =>
                {
                    if (result)
                    {
                        if (_warning == null)
                        {
                            _warning = new WarningToolStripItem {Text = _hintUnresolvedMergeConflicts.Text};
                            _warning.Click += WarningClick;
                            statusStrip.Items.Add(_warning);
                        }
                    }
                    else
                    {
                        if (_warning != null)
                        {
                            _warning.Click -= WarningClick;
                            statusStrip.Items.Remove(_warning);
                            _warning = null;
                        }
                    }

                    //Only show status strip when there are status items on it.
                    //There is always a close (x) button, do not count first item.
                    if (statusStrip.Items.Count > 1)
                        statusStrip.Show();
                    else
                        statusStrip.Hide();
                });
        }
FormBrowse