GitCommands.GitCommands.GetAllChangedFilesFromString C# (CSharp) Method

GetAllChangedFilesFromString() public static method

public static GetAllChangedFilesFromString ( string status ) : List
status string
return List
        public static List<GitItemStatus> GetAllChangedFilesFromString(string status)
        {
            var statusStrings = status.Split(new char[] { '\0', '\n' }, StringSplitOptions.RemoveEmptyEntries);

            var gitItemStatusList = new List<GitItemStatus>();

            GitItemStatus itemStatus = null;
            foreach (var statusString in statusStrings)
            {
                if (string.IsNullOrEmpty(statusString.Trim()) || statusString.Length < 2)
                    continue;

                if (!(itemStatus != null && itemStatus.Name == statusString.Substring(1).Trim()))
                {
                    itemStatus = new GitItemStatus { Name = statusString.Substring(1).Trim() };
                    gitItemStatusList.Add(itemStatus);
                }

                itemStatus.IsNew = itemStatus.IsNew || statusString[0] == '?';
                itemStatus.IsChanged = itemStatus.IsChanged || statusString[0] == 'C';
                itemStatus.IsDeleted = itemStatus.IsDeleted || statusString[0] == 'R';
                itemStatus.IsTracked = itemStatus.IsTracked || statusString[0] != '?';
            }

            return gitItemStatusList;
        }
GitCommands