private bool GetSourceInfomation(IList<SourceFile> sourceFiles, out string output) { output = string.Empty; // get all the svn info in one call SvnClient client = new SvnClient(); CopyBuildEngine(client); // using target file to prevent hitting max command line lenght string targetFile = Path.GetTempFileName(); try { // dumping source file list to target file using (var sw = File.CreateText(targetFile)) foreach (var sourceFile in sourceFiles) // can only get info on files that exists if (File.Exists(sourceFile)) sw.WriteLine(sourceFile); client.Command = "info"; client.TargetFile = targetFile; client.Xml = true; client.Execute(); } finally { File.Delete(targetFile); } output = client.StandardOutput; return true; }