Beispiel #1
0
        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());
        }
Beispiel #2
0
        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());
        }