public void Fetch(Git git, BusyIndicatorProgressMonitor monitor) { FetchCommand command = git.Fetch(); RefSpec spec = new RefSpec("refs/heads/master:refs/heads/FETCH_HEAD"); command.SetRefSpecs(spec); command.SetProgressMonitor(monitor); BackgroundWorker bw = new BackgroundWorker(); bw.DoWork += (s, evt) => { monitor.StartAction(); try { command.Call(); } catch (JGitInternalException exception) { // TODO: } }; bw.RunWorkerCompleted += (s, evt) => { monitor.CompleteAction(); }; bw.RunWorkerAsync(); }
public void Pull(Git git, BusyIndicatorProgressMonitor monitor) { PullCommand command = git.Pull(); command.SetProgressMonitor(monitor); BackgroundWorker bw = new BackgroundWorker(); bw.DoWork += (s, evt) => { monitor.StartAction(); try { command.Call(); } catch (JGitInternalException exception) { // TODO: } }; bw.RunWorkerCompleted += (s, evt) => { monitor.CompleteAction(); }; bw.RunWorkerAsync(); }
/// <summary> /// リモートリポジトリをローカルへ複製する /// </summary> /// <param name="entity">エンティティ</param> /// <param name="monitor">モニター</param> public void CloneRepository(CloneEntity entity, BusyIndicatorProgressMonitor monitor) { FilePath directory = entity.Path; CloneCommand clone = new CloneCommand(); //clone.SetCloneAllBranches(true); clone.SetDirectory(directory); clone.SetURI(entity.Url); clone.SetProgressMonitor(monitor); if (entity.IsCredential) { UsernamePasswordCredentialsProvider user = new UsernamePasswordCredentialsProvider(entity.UserName, entity.PassWord); clone.SetCredentialsProvider(user); } BackgroundWorker bw = new BackgroundWorker(); bw.DoWork += (s, evt) => { monitor.StartAction(); try { clone.Call(); } catch (JGitInternalException exception) { // TODO: } }; bw.RunWorkerCompleted += (s, evt) => { monitor.CompleteAction(); }; bw.RunWorkerAsync(); }