private void BranchDropDown(object sender, EventArgs e) { GitModule module = new GitModule(Directory.Text); var heads = module.GetHeads(false); heads.Insert(0, GitHead.NoHead(module)); Branch.DisplayMember = "Name"; Branch.DataSource = heads; }
private void BranchesDropDown(object sender, EventArgs e) { if ((PullFromUrl.Checked && string.IsNullOrEmpty(comboBoxPullSource.Text)) && (PullFromRemote.Checked && string.IsNullOrEmpty(_NO_TRANSLATE_Remotes.Text))) { Branches.DataSource = null; return; } Cursor.Current = Cursors.WaitCursor; LoadPuttyKey(); if (_heads == null) { if (PullFromUrl.Checked) { _heads = Module.GetHeads(false, true); } else { // The line below is the most reliable way to get a list containing // all remote branches but it is also the slowest. // Heads = GitCommands.GitCommands.GetRemoteHeads(Remotes.Text, false, true); // The code below is a quick way to get a list contains all remote branches. // It only returns the heads that are already known to the repository. This // doesn't return heads that are new on the server. This can be updated using // update branch info in the manage remotes dialog. _heads = new List <GitHead>(); foreach (var head in Module.GetHeads(true, true)) { if (!head.IsRemote || !head.Name.StartsWith(_NO_TRANSLATE_Remotes.Text, StringComparison.CurrentCultureIgnoreCase)) { continue; } _heads.Insert(0, head); } } } Branches.DisplayMember = "LocalName"; //_heads.Insert(0, GitHead.AllHeads); --> disable this because it is only for expert users _heads.Insert(0, GitHead.NoHead(Module)); Branches.DataSource = _heads; Cursor.Current = Cursors.Default; }