private void BranchesGrid_CellContentClick(object sender, DataGridViewCellEventArgs e) { // track only “Deleted” column if (e.ColumnIndex != 0) { return; } BranchesGrid.CommitEdit(DataGridViewDataErrorContexts.Commit); lblStatus.Text = GetDefaultStatusText(); }
private void Delete_Click(object sender, EventArgs e) { if (MessageBox.Show(this, "Are you sure to delete the selected branches?" + Environment.NewLine + "Only branches that are fully merged in '" + referenceBranch + "' will be deleted.", "Delete", MessageBoxButtons.YesNo) == DialogResult.Yes) { foreach (Branch branch in branches.Where(branch => branch.Delete)) { branch.Result = gitCommands.RunGit("branch -d " + branch.Name).Trim(); } BranchesGrid.Refresh(); } }
private void BranchesGrid_CellContentClick(object sender, DataGridViewCellEventArgs e) { // track only “Deleted” column, ignoring the checkbox header if (e.ColumnIndex != 0 || e.RowIndex == -1) { return; } BranchesGrid.CommitEdit(DataGridViewDataErrorContexts.Commit); checkBoxHeaderCell.Checked = _branches.All(b => b.Delete); lblStatus.Text = GetDefaultStatusText(); }
private void CheckBoxHeader_OnCheckBoxClicked(object sender, CheckBoxHeaderCellEventArgs e) { BranchesGrid.CommitEdit(DataGridViewDataErrorContexts.Commit); for (int i = 0; i < BranchesGrid.Rows.Count; i++) { DataGridViewRow row = BranchesGrid.Rows[i]; DataGridViewCheckBoxCell cell = (DataGridViewCheckBoxCell)row.Cells[nameof(_NO_TRANSLATE_deleteDataGridViewCheckBoxColumn)]; cell.Value = e.Checked; } BranchesGrid.EndEdit(); }
private void Delete_Click(object sender, EventArgs e) { if (MessageBox.Show("Are you sure to delete the selected branches?" + Environment.NewLine + "Only branches that are not fully merged will be deleted.", "Delete", MessageBoxButtons.YesNo) == DialogResult.Yes) { foreach (Branch branch in Branches) { if (branch.Delete) { branch.Result = GitCommands.RunGit(string.Concat("branch -d " + branch.Name)).Trim(); BranchesGrid.Refresh(); } } } }
private void FindLargeFilesFunction() { try { var data = GetLargeFiles(_threshold); Dictionary <string, DateTime> revData = new Dictionary <string, DateTime>(); foreach (var d in data) { string commit = d.Commit.First(); DateTime date; if (!revData.ContainsKey(commit)) { string revDate = _gitCommands.RunGitCmd(string.Format("show -s {0} --format=\"%ci\"", commit)); DateTime.TryParse(revDate, out date); revData.Add(commit, date); } else { date = revData[commit]; } GitObject curGitObject; if (!_list.TryGetValue(d.SHA, out curGitObject)) { d.LastCommitDate = date; _list.Add(d.SHA, d); BranchesGrid.Invoke((Action)(() => { _gitObjects.Add(d); })); } else if (!curGitObject.Commit.Contains(commit)) { if (curGitObject.LastCommitDate < date) { curGitObject.LastCommitDate = date; } BranchesGrid.Invoke((Action)(() => { _gitObjects.ResetItem(_gitObjects.IndexOf(curGitObject)); })); curGitObject.Commit.Add(commit); } } string objectsPackDirectory = _gitCommands.ResolveGitInternalPath("objects/pack/"); if (Directory.Exists(objectsPackDirectory)) { var packFiles = Directory.GetFiles(objectsPackDirectory, "pack-*.idx"); foreach (var pack in packFiles) { string[] objects = _gitCommands.RunGitCmd(string.Concat("verify-pack -v ", pack)).Split('\n'); pbRevisions.Invoke((Action)(() => pbRevisions.Value = pbRevisions.Value + (int)((_revList.Length * 0.1f) / packFiles.Length))); foreach (var gitobj in objects.Where(x => x.Contains(" blob "))) { string[] dataFields = gitobj.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); GitObject curGitObject; if (_list.TryGetValue(dataFields[0], out curGitObject)) { int compressedSize = 0; if (Int32.TryParse(dataFields[3], out compressedSize)) { curGitObject.compressedSizeInBytes = compressedSize; BranchesGrid.Invoke((Action)(() => { _gitObjects.ResetItem(_gitObjects.IndexOf(curGitObject)); })); } } } } } pbRevisions.Invoke((Action)(() => pbRevisions.Hide())); BranchesGrid.Invoke((Action)(() => BranchesGrid.ReadOnly = false)); } catch { } }
private void FindLargeFilesFunction() { try { var data = GetLargeFiles(_threshold); Dictionary <string, DateTime> revData = new Dictionary <string, DateTime>(); foreach (var d in data) { string commit = d.Commit.First(); DateTime date; if (!revData.ContainsKey(commit)) { var args = new GitArgumentBuilder("show") { "-s", commit, "--format=\"%ci\"" }; string revDate = _gitCommands.GitExecutable.GetOutput(args); DateTime.TryParse(revDate, out date); revData.Add(commit, date); } else { date = revData[commit]; } if (!_list.TryGetValue(d.SHA, out var curGitObject)) { d.LastCommitDate = date; _list.Add(d.SHA, d); ThreadHelper.JoinableTaskFactory.Run(async() => { await BranchesGrid.SwitchToMainThreadAsync(); _gitObjects.Add(d); }); } else if (!curGitObject.Commit.Contains(commit)) { if (curGitObject.LastCommitDate < date) { curGitObject.LastCommitDate = date; } ThreadHelper.JoinableTaskFactory.Run(async() => { await BranchesGrid.SwitchToMainThreadAsync(); _gitObjects.ResetItem(_gitObjects.IndexOf(curGitObject)); }); curGitObject.Commit.Add(commit); } } string objectsPackDirectory = _gitCommands.ResolveGitInternalPath("objects/pack/"); if (Directory.Exists(objectsPackDirectory)) { var packFiles = Directory.GetFiles(objectsPackDirectory, "pack-*.idx"); foreach (var pack in packFiles) { var args = new GitArgumentBuilder("verify-pack") { "-v", pack }; string[] objects = _gitCommands.GitExecutable.GetOutput(args).Split('\n'); ThreadHelper.JoinableTaskFactory.Run(async() => { await pbRevisions.SwitchToMainThreadAsync(); pbRevisions.Value = pbRevisions.Value + (int)((_revList.Length * 0.1f) / packFiles.Length); }); foreach (var gitObject in objects.Where(x => x.Contains(" blob "))) { string[] dataFields = gitObject.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); if (_list.TryGetValue(dataFields[0], out var curGitObject)) { if (int.TryParse(dataFields[3], out var compressedSize)) { curGitObject.CompressedSizeInBytes = compressedSize; ThreadHelper.JoinableTaskFactory.Run(async() => { await BranchesGrid.SwitchToMainThreadAsync(); _gitObjects.ResetItem(_gitObjects.IndexOf(curGitObject)); }); } } } } } ThreadHelper.JoinableTaskFactory.Run(async() => { await pbRevisions.SwitchToMainThreadAsync(); pbRevisions.Hide(); }); ThreadHelper.JoinableTaskFactory.Run(async() => { await BranchesGrid.SwitchToMainThreadAsync(); BranchesGrid.ReadOnly = false; }); } catch { } }
public void LoadData() { BranchesGrid.DataBind(); }