private void diffResetSubmoduleChanges_Click(object sender, EventArgs e) { var submodules = DiffFiles.SelectedItems.Where(it => it.IsSubmodule).Select(it => it.Name).Distinct().ToList(); // Show a form asking the user if they want to reset the changes. FormResetChanges.ActionEnum resetType = FormResetChanges.ShowResetDialog(this, true, true); if (resetType == FormResetChanges.ActionEnum.Cancel) { return; } foreach (var name in submodules) { GitModule module = Module.GetSubmodule(name); // Reset all changes. module.Reset(ResetMode.Hard); // Also delete new files, if requested. if (resetType == FormResetChanges.ActionEnum.ResetAndDelete) { module.Clean(CleanMode.OnlyNonIgnored, directories: true); } } RefreshArtificial(); }
private void diffResetSubmoduleChanges_Click(object sender, EventArgs e) { var unStagedFiles = DiffFiles.SelectedItems.ToList(); if (unStagedFiles.Count == 0) { return; } // Show a form asking the user if they want to reset the changes. FormResetChanges.ActionEnum resetType = FormResetChanges.ShowResetDialog(this, true, true); if (resetType == FormResetChanges.ActionEnum.Cancel) { return; } foreach (var item in unStagedFiles.Where(it => it.IsSubmodule)) { GitModule module = Module.GetSubmodule(item.Name); // Reset all changes. module.ResetHard(""); // Also delete new files, if requested. if (resetType == FormResetChanges.ActionEnum.ResetAndDelete) { var unstagedFiles = module.GetUnstagedFiles(); foreach (var file in unstagedFiles.Where(file => file.IsNew)) { try { string path = Path.Combine(module.WorkingDir, file.Name); if (File.Exists(path)) { File.Delete(path); } else { Directory.Delete(path, true); } } catch (System.IO.IOException) { } catch (System.UnauthorizedAccessException) { } } } } //TBD RefreshRevisions(); }
private void diffResetSubmoduleChanges_Click(object sender, EventArgs e) { var submodules = DiffFiles.SelectedItems.Where(it => it.IsSubmodule).Select(it => it.Name).Distinct().ToList(); // Show a form asking the user if they want to reset the changes. FormResetChanges.ActionEnum resetType = FormResetChanges.ShowResetDialog(this, true, true); if (resetType == FormResetChanges.ActionEnum.Cancel) { return; } foreach (var name in submodules) { GitModule module = Module.GetSubmodule(name); // Reset all changes. module.ResetHard(""); // Also delete new files, if requested. if (resetType == FormResetChanges.ActionEnum.ResetAndDelete) { var unstagedFiles = module.GetUnstagedFiles(); foreach (var file in unstagedFiles.Where(file => file.IsNew)) { try { string path = _fullPathResolver.Resolve(file.Name); if (File.Exists(path)) { File.Delete(path); } else { Directory.Delete(path, true); } } catch (IOException) { } catch (UnauthorizedAccessException) { } } } } RefreshArtificial(); }
public void ResetSubmodule(IWin32Window owner, SubmoduleNode node) { FormResetChanges.ActionEnum resetType = FormResetChanges.ShowResetDialog(owner, true, true); if (resetType == FormResetChanges.ActionEnum.Cancel) { return; } GitModule module = new(node.Info.Path); // Reset all changes. module.Reset(ResetMode.Hard); // Also delete new files, if requested. if (resetType == FormResetChanges.ActionEnum.ResetAndDelete) { module.Clean(CleanMode.OnlyNonIgnored, directories: true); } }