public LogInfo[] GetLog(string basePath, string repositoryName, string revision) { var uri = this.GetUrl(basePath, repositoryName); var logs = SvnLogInfo.GetLogs(uri.ToString(), revision); return(logs.Select(item => (LogInfo)item).ToArray()); }
public static SvnLogInfo GetFirstLog(string path) { var info = SvnInfo.Run(path); var revision = info.LastChangedRevision; var localPath = PathUtility.Separator + UriUtility.MakeRelativeOfDirectory(info.RepositoryRoot, info.Uri); while (revision != "1") { var logs = SvnLogInfo.Run(info.Uri.ToString(), "1", revision, 100); foreach (var item in logs) { var renamed = false; foreach (var changedPath in item.ChangedPaths) { if (changedPath.Action == "A" && changedPath.Path == localPath) { localPath = changedPath.CopyFromPath; renamed = true; break; } } var deleted = false; if (renamed == true) { foreach (var changedPath in item.ChangedPaths) { if (changedPath.Action == "D" && changedPath.Path == localPath) { deleted = true; break; } } if (deleted == false) { return(item); } } } if (logs.Count() == 1) { return(logs.First()); } else { revision = logs.Last().Revision; } } return(SvnLogInfo.GetLogs(info.Uri.ToString(), "1").First()); }
public LogInfo[] GetLog(string[] paths, string revision) { var logs = SvnLogInfo.GetLogs(paths, revision); return(logs.Select(item => (LogInfo)item).ToArray()); }