public void RunCheckProcess() { Available = false; VersionState = VersionStateEnum.Unknow; SVNInfo = ""; InfoErrorMessage = ""; LocalChangeState = ChangeStateEnum.Unknow; ChangedFiles = ""; DiffErrorMessage = ""; LocalVersion = ""; RepositoryVersion = ""; try { ExcuteCommand("svn", "info", OnInfoReceived, OnInfoErrorReceived, OnInfoExited); } catch (Exception err) { InfoErrorMessage = err.Message; InfoExitedAction(false); } }
void OnRepositoryInfoExited(object sender, EventArgs e) { Process process = (Process)sender; Available = process.ExitCode == 0; if (Available) { //设置版本状态 if (LocalVersion != "" && RepositoryVersion != "") { VersionState = RepositoryVersion == LocalVersion ? VersionStateEnum.Latest : VersionStateEnum.Obsolete; } //检查本地修改 if (Module.ModuleConfig.Json.EnableCheckDiff) { try { ExcuteCommand("/bin/bash", EBPUtility.Quote(Path.Combine(Module.ModuleConfig.ModuleRootPath, "SVNDiff.sh")), OnDiffReceived, OnDiffErrorReceived, OnDiffExited); } catch (Exception err) { InfoErrorMessage = err.Message; DiffExitedAction(false); } } } else { IsPartOfPipeline = false; } if (InfoExitedAction != null) { InfoExitedAction(Available); } }