public RepositoryItem[] Status(params string[] paths) { var args = SvnStatusInfo.Run(paths); var itemList = new List <RepositoryItem>(args.Length); foreach (var item in args) { itemList.Add(new RepositoryItem() { Path = item.Path, OldPath = item.OldPath, Status = item.Status, }); } return(itemList.ToArray()); }
public static SvnStatusInfo[] Parse(string text) { using var sr = new StringReader(text); var doc = XDocument.Load(sr); var itemList = new List <SvnStatusInfo>(); foreach (var element in doc.XPathSelectElements("/status/target/entry")) { var path = element.Attribute("path").Value; var status = element.XPathSelectElement("wc-status").Attribute("item").Value; var item = new SvnStatusInfo() { Path = path, }; if (status == "added") { item.Status = RepositoryItemStatus.Added; } else if (status == "deleted") { item.Status = RepositoryItemStatus.Deleted; } else if (status == "modified") { item.Status = RepositoryItemStatus.Modified; } else if (status == "unversioned") { item.Status = RepositoryItemStatus.Untracked; } itemList.Add(item); } return(itemList.ToArray()); }