Пример #1
0
 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);
     }
 }
Пример #2
0
        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);
            }
        }