public HistoryVersionsModel Test() { HistoryVersionsModel model = new HistoryVersionsModel(); SVNManager.Changelist("**", (res) => { SVNManager.Commit("update", (ress) => { SVNManager.UpdateLocalRepo((resss) => { string s = resss; }); }); }); return(model); }
public HistoryVersionsModel GetVersions(string scenario_id, string ticket = "", string topic_id = "") { HistoryVersionsModel model = new HistoryVersionsModel(); List <int> revisions = new List <int>(); string folder = ApiHelper.FindFolderById(scenario_id, PathHelper.GetRepoPath()); if (folder == null) { model.errors = ApiHelper.JsonError(400, new string[] { "scenario not exist" }); return(model); } string infoPath = Path.Combine(folder, new DirectoryInfo(folder).Name + ".info"); if (!string.IsNullOrEmpty(topic_id)) { List <TopicModel> topics = ApiHelper.GetTopicsOrigin(scenario_id); foreach (TopicModel t in topics) { if (t.index.ToString() == topic_id) { infoPath = t.vmpPath; break; } } } model.versions = revisions; SVNManager.GetCurrentRevisionFile(infoPath, (res) => { res = res.Replace("Revision:", ""); res = res.Replace("\r\n", ""); try { model.current_version = int.Parse(res); } catch (Exception e) { } }); SVNManager.GetAllRevisionsForFile(infoPath, (res) => { res = res.Replace("------------------------------------------------------------------------", "-_-_-"); string[] splits = res.Split(new string[] { "-_-_-" }, StringSplitOptions.RemoveEmptyEntries); foreach (string s in splits) { string[] revisionParts = s.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries); if (revisionParts.Length > 3) { try { int revisionNumber = int.Parse(revisionParts[0].Replace("r", "")); string[] timeAndDate = revisionParts[2].Split(new char[] { ' ' }, System.StringSplitOptions.RemoveEmptyEntries); string revisionText = $"{revisionNumber} - {timeAndDate[0]} {timeAndDate[1]} {revisionParts[1]}"; revisions.Add(revisionNumber); } catch (Exception ex) { } } } if (revisions != null && revisions.Count > 0) { model.current_version = revisions[0]; } model.versions = revisions; }); return(model); }