Пример #1
0
        //async get all commites
        public void GetAllCommits(string szWorkingDir)
        {
            if (string.IsNullOrEmpty(szWorkingDir))
            {
                return;
            }
            CGitSourceConfig.m_szWorkingDir = szWorkingDir;

            Process process = CGitCmdLog.GetAllCommitesAsynch(Async_Callback_DataReceived, Async_Callback_ErrorReceived, Async_Callback_Exited);
            lock (_processLock)
            {
                _CurrentProcess = process;
                _CurrentOperaType = AsyncOperaType.ASYNC_GET_ALL_COMMITS;
            }
        }
Пример #2
0
        //async svn clone
        public void CloneSvn(string szRepositoryUrl, string szWorkingDir,string szUser,string szPassword)
        {
            if (string.IsNullOrEmpty(szWorkingDir) || string.IsNullOrEmpty(szRepositoryUrl))
            {
                return;
            }
            CGitSourceConfig.m_szWorkingDir = szWorkingDir;
            _szInputProcessArgu = szPassword;

            Process process = CGitCmdSvn.CloneAsynch(szRepositoryUrl, szWorkingDir, szUser, Async_Callback_DataReceived, Async_Callback_ErrorReceived, Async_Callback_Exited);
            lock (_processLock)
            {
                _CurrentProcess = process;
                _CurrentOperaType = AsyncOperaType.ASYNC_CLONE;
            }
        }
Пример #3
0
        //async clone
        public bool Commit2SpecBranch(string szRemoteRepoName, string szLocalBranch,string szRemoteBranch,bool bIsFoece,string szWorkingDir)
        {
            if (string.IsNullOrEmpty(szWorkingDir) || string.IsNullOrEmpty(szRemoteRepoName)
                                             || string.IsNullOrEmpty(szLocalBranch)|| string.IsNullOrEmpty(szRemoteBranch))
            {
                return false;
            }

            CGitSourceConfig.m_szWorkingDir = szWorkingDir;
            Process process = CGitCmdPush.Commit2SpecBranch(szRemoteRepoName, szLocalBranch, szRemoteBranch, bIsFoece,Async_Callback_DataReceived, Async_Callback_ErrorReceived, Async_Callback_Exited);
            lock (_processLock)
            {
                if (process == null)
                {
                    return false;
                }
                _CurrentProcess = process;
                _CurrentOperaType = AsyncOperaType.ASYNC_PUSH_BRANCH;
            }
            return true;
        }
Пример #4
0
 private int OnProcessClose()
 {
     Trace.WriteLine(String.Format("\n--------------------E0----------------------"));
     int iCode = -1;
     Thread.Sleep(500);
     lock (_processLock)
     {
         try
         {
             if (_CurrentProcess != null)
             {
                 _CurrentProcess.CancelErrorRead();
                 _CurrentProcess.CancelOutputRead();
                 iCode =_CurrentProcess.ExitCode;
                 //_CurrentProcess.WaitForExit(1000);
                 _CurrentProcess.Refresh();
                 _CurrentProcess.Close();
             }
         }
         finally
         {
             _CurrentProcess = null;
             _szInputProcessArgu = null;
             _CurrentOperaType = AsyncOperaType.ASYNC_NONE;
         }
     }
     return iCode;
 }
Пример #5
0
        //
        public bool CheckSshKey(string szSshDir, string szURl)
        {
            if (string.IsNullOrEmpty(szURl))
            {
                return false;
            }

            CGitSourceConfig.m_szWorkingDir = szSshDir;
            Process process = CGitCmdSSH.CheckSshKey(szURl, Async_Callback_DataReceived, Async_Callback_ErrorReceived, Async_Callback_Exited);
            lock (_processLock)
            {
                if (process == null)
                {
                    return false;
                }
                _CurrentProcess = process;
                _CurrentOperaType = AsyncOperaType.ASYNC_SSH_CHECK;
            }
            return true;
        }
Пример #6
0
        //async clone
        public bool UpLoadBranch2RemoteRepo(string szRemoteRepoName, string szBranch,string szWorkingDir)
        {
            if (string.IsNullOrEmpty(szWorkingDir) || string.IsNullOrEmpty(szRemoteRepoName) || string.IsNullOrEmpty(szBranch))
            {
                return false;
            }

            CGitSourceConfig.m_szWorkingDir = szWorkingDir;
            Process process = CGitCmdPush.UpLoadBranchAsynch(szRemoteRepoName,szBranch, Async_Callback_DataReceived, Async_Callback_ErrorReceived, Async_Callback_Exited);
            lock (_processLock)
            {
                if (process == null)
                {
                    return false;
                }
                _CurrentProcess = process;
                _CurrentOperaType = AsyncOperaType.ASYNC_UPLOAD_BRANCH;
            }
            return true;
        }
Пример #7
0
        //async clone
        public bool UpdateRemote(string szRemoteRepoName, string szWorkingDir)
        {
            if (string.IsNullOrEmpty(szWorkingDir))
            {
                return false;
            }
            CGitSourceConfig.m_szWorkingDir = szWorkingDir;

            Process process = CGitCmdRemote.UpdateAsynch(szRemoteRepoName, Async_Callback_DataReceived, Async_Callback_ErrorReceived, Async_Callback_Exited);
            lock (_processLock)
            {
                if (process==null)
                {
                    return false;
                }
                _CurrentProcess = process;
                _CurrentOperaType = AsyncOperaType.ASYNC_UPDATE_REMOTE;
            }
            return true;
        }
Пример #8
0
        public void KillProcess()
        {
            lock (_processLock)
            {
                try
                {
                    if (_CurrentProcess == null)
                        return;

                    if (!_CurrentProcess.HasExited)
                    {
                        _CurrentProcess.Kill();
                    }

                }
                catch
                {
                }
                finally
                {
                    _CurrentOperaType = AsyncOperaType.ASYNC_NONE;
                }
            }
        }