GitCommands.GitModule.GetUnstagedFiles C# (CSharp) Method

GetUnstagedFiles() public method

public GetUnstagedFiles ( ) : IList
return IList
        public IList<GitItemStatus> GetUnstagedFiles()
        {
            return GetAllChangedFiles().Where(x => !x.IsStaged).ToArray();
        }

Usage Example

Exemplo n.º 1
0
        private void resetSubmoduleChanges_Click(object sender, EventArgs e)
        {
            var unStagedFiles = (List<GitItemStatus>)Unstaged.SelectedItems;
            if (unStagedFiles.Count == 0)
                return;

            // Show a form asking the user if they want to reset the changes.
            FormResetChanges.ResultType resetType = FormResetChanges.ShowResetDialog(this, true, true);
            if (resetType == FormResetChanges.ResultType.CANCEL)
                return;

            foreach (var item in unStagedFiles.Where(it => it.IsSubmodule))
            {
                GitModule module = new GitModule(Module.WorkingDir + item.Name + Settings.PathSeparator.ToString());

                // Reset all changes.
                module.ResetHard("");

                // Also delete new files, if requested.
                if (resetType == FormResetChanges.ResultType.RESET_AND_DELETE)
                {
                    var unstagedFiles = module.GetUnstagedFiles();
                    foreach (var file in unstagedFiles.Where(file => file.IsNew))
                    {
                        try
                        {
                            File.Delete(module.WorkingDir + file.Name);
                        }
                        catch (System.IO.IOException) { }
                        catch (System.UnauthorizedAccessException) { }
                    }
                }
            }

            Initialize();
        }
GitModule