public string GetGitWorkSpace(string codeDirectory) { var content = DosCommandOutput.Execute($"git worktree list ", codeDirectory); var mc = Regex.Match(content, @"^(?<key>.*?)\s"); if (mc.Success) { return(mc.Groups["key"].Value.Replace("/", "\\")); } throw new Exception("Can not found work space"); }
public BuildSolutionResult Build(ProjectDescription description, Action <string> projectBuildStarted, Action <string, bool, string> projectBuildComplete, Action <string, Exception> errorLogger) { var logger = ContainerManager.Resolve <ILogger>(); logger.AppendLog(PackPeriod.Compilie, $"{description}"); var packSetting = ContainerManager.Resolve <PackSetting>(); var result = DosCommandOutput.Execute($"msbuild.exe \"{description.FullName}\" /nologo /verbosity:minimal /consoleloggerparameters:ErrorsOnly /t:Build,Restore /p:configuration=Release ", packSetting.MsbuildPath); return(new BuildSolutionResult() { IsSuccess = !result.Contains("error") }); }
public string GetCurrentBranch(string workspace) { var content = DosCommandOutput.Execute($"git status --branch", workspace); var lines = Regex.Split(content, @"\n"); foreach (var item in lines) { Match mc; if ((mc = Regex.Match(item, @"On branch (?<key>.*?)$")).Success) { return(mc.Groups["key"].Value); } } throw new Exception("can't found current branch"); }
public IList <string> CompareFile(string originBranch, string newBranch, string workspace, string file) { string tmpcomparefile = $"{_pathService.TemporaryLocation.FullName}\\o.txt"; DosCommandOutput.Execute($"git diff {originBranch} {file}> {tmpcomparefile}", workspace); StreamReader objReader = new StreamReader(tmpcomparefile); string sLine = ""; List <string> LineList = new List <string>(); while (sLine != null) { sLine = objReader.ReadLine(); if (sLine != null && !sLine.Equals("")) { LineList.Add(sLine); } } objReader.Close(); return(LineList); }