• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java GitRemote类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中git4idea.repo.GitRemote的典型用法代码示例。如果您正苦于以下问题:Java GitRemote类的具体用法?Java GitRemote怎么用?Java GitRemote使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



GitRemote类属于git4idea.repo包,在下文中一共展示了GitRemote类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: findGithubRemote

import git4idea.repo.GitRemote; //导入依赖的package包/类
@Nullable
public static Pair<GitRemote, String> findGithubRemote(@NotNull GitRepository repository) {
  Pair<GitRemote, String> githubRemote = null;
  for (GitRemote gitRemote : repository.getRemotes()) {
    for (String remoteUrl : gitRemote.getUrls()) {
      if (GithubUrlUtil.isGithubUrl(remoteUrl)) {
        final String remoteName = gitRemote.getName();
        if ("github".equals(remoteName) || "origin".equals(remoteName)) {
          return Pair.create(gitRemote, remoteUrl);
        }
        if (githubRemote == null) {
          githubRemote = Pair.create(gitRemote, remoteUrl);
        }
        break;
      }
    }
  }
  return githubRemote;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:20,代码来源:GithubUtil.java


示例2: findApplication4Repository

import git4idea.repo.GitRemote; //导入依赖的package包/类
public CloudGitApplication findApplication4Repository() throws ServerRuntimeException {
  final List<String> repositoryUrls = new ArrayList<String>();
  for (GitRemote remote : getRepository().getRemotes()) {
    for (String url : remote.getUrls()) {
      repositoryUrls.add(url);
    }
  }

  return getAgentTaskExecutor().execute(new Computable<CloudGitApplication>() {

    @Override
    public CloudGitApplication compute() {
      return getDeployment().findApplication4Repository(ArrayUtil.toStringArray(repositoryUrls));
    }
  });
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:CloudGitDeploymentRuntime.java


示例3: parse

import git4idea.repo.GitRemote; //导入依赖的package包/类
@NotNull
public static GitPushTarget parse(@NotNull GitRepository repository, @Nullable String remoteName, @NotNull String branchName) throws
                                                                                                                      ParseException {
  if (remoteName == null) {
    throw new ParseException("No remotes defined", -1);
  }

  if (!GitRefNameValidator.getInstance().checkInput(branchName)) {
    throw new ParseException("Invalid destination branch name: " + branchName, -1);
  }

  GitRemote remote = findRemote(repository.getRemotes(), remoteName);
  if (remote == null) {
    LOG.error("Remote [" + remoteName + "] is not found among " + repository.getRemotes());
    throw new ParseException("Invalid remote: " + remoteName, -1);
  }

  GitRemoteBranch existingRemoteBranch = findRemoteBranch(repository, remote, branchName);
  if (existingRemoteBranch != null) {
    return new GitPushTarget(existingRemoteBranch, false);
  }
  GitRemoteBranch rb = new GitStandardRemoteBranch(remote, branchName, GitBranch.DUMMY_HASH);
  return new GitPushTarget(rb, true);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:25,代码来源:GitPushTarget.java


示例4: compare

import git4idea.repo.GitRemote; //导入依赖的package包/类
@Override
public int compare(@NotNull GitRemoteBranch o1, @NotNull GitRemoteBranch o2) {
  String remoteName1 = o1.getRemote().getName();
  String remoteName2 = o2.getRemote().getName();
  int remoteComparison = remoteName1.compareTo(remoteName2);
  if (remoteComparison != 0) {
    if (remoteName1.equals(GitRemote.ORIGIN_NAME)) {
      return -1;
    }
    if (remoteName2.equals(GitRemote.ORIGIN_NAME)) {
      return 1;
    }
    return remoteComparison;
  }
  return o1.getNameForLocalOperations().compareTo(o2.getNameForLocalOperations());
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:GitPushTargetPanel.java


示例5: proposeTargetForNewBranch

import git4idea.repo.GitRemote; //导入依赖的package包/类
private static GitPushTarget proposeTargetForNewBranch(GitRepository repository, GitLocalBranch currentBranch) {
  Collection<GitRemote> remotes = repository.getRemotes();
  if (remotes.isEmpty()) {
    return null; // TODO need to propose to declare new remote
  }
  else if (remotes.size() == 1) {
    return makeTargetForNewBranch(repository, remotes.iterator().next(), currentBranch);
  }
  else {
    GitRemote remote = GitUtil.getDefaultRemote(remotes);
    if (remote == null) {
      remote = remotes.iterator().next();
    }
    return makeTargetForNewBranch(repository, remote, currentBranch);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:GitPushSupport.java


示例6: fetch

import git4idea.repo.GitRemote; //导入依赖的package包/类
/**
 * Fetch remote branch
 * {@code git fetch <remote> <params>}
 */
@Override
@NotNull
public GitCommandResult fetch(@NotNull final GitRepository repository,
                              @NotNull final GitRemote remote,
                              @NotNull final List<GitLineHandlerListener> listeners,
                              final String... params) {
  return runCommand(new Computable<GitLineHandler>() {
    @Override
    public GitLineHandler compute() {
      final GitLineHandler h = new GitLineHandler(repository.getProject(), repository.getRoot(), GitCommand.FETCH);
      h.setSilent(false);
      h.setStdoutSuppressed(false);
      h.setUrls(remote.getUrls());
      h.addParameters(remote.getName());
      h.addParameters(params);
      h.addProgressParameter();
      GitVcs vcs = GitVcs.getInstance(repository.getProject());
      if (vcs != null && GitVersionSpecialty.SUPPORTS_FETCH_PRUNE.existsIn(vcs.getVersion())) {
        h.addParameters("--prune");
      }
      addListeners(h, listeners);
      return h;
    }
  });
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:30,代码来源:GitImpl.java


示例7: fetchAll

import git4idea.repo.GitRemote; //导入依赖的package包/类
@NotNull
private GitFetchResult fetchAll(@NotNull GitRepository repository, @NotNull GitFetchResult fetchResult) {
  for (GitRemote remote : repository.getRemotes()) {
    String url = remote.getFirstUrl();
    if (url == null) {
      LOG.error("URL is null for remote " + remote.getName());
      continue;
    }
    GitFetchResult res = fetchNatively(repository, remote, null);
    res.addPruneInfo(fetchResult.getPrunedRefs());
    fetchResult = res;
    if (!fetchResult.isSuccess()) {
      break;
    }
  }
  return fetchResult;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:GitFetcher.java


示例8: fetchNatively

import git4idea.repo.GitRemote; //导入依赖的package包/类
@NotNull
private static GitFetchResult fetchNatively(@NotNull GitRepository repository, @NotNull GitRemote remote, @Nullable String branch) {
  Git git = ServiceManager.getService(Git.class);
  String[] additionalParams = branch != null ?
                              new String[]{ getFetchSpecForBranch(branch, remote.getName()) } :
                              ArrayUtil.EMPTY_STRING_ARRAY;

  GitFetchPruneDetector pruneDetector = new GitFetchPruneDetector();
  GitCommandResult result = git.fetch(repository, remote,
                                      Collections.<GitLineHandlerListener>singletonList(pruneDetector), additionalParams);

  GitFetchResult fetchResult;
  if (result.success()) {
    fetchResult = GitFetchResult.success();
  }
  else if (result.cancelled()) {
    fetchResult = GitFetchResult.cancel();
  }
  else {
    fetchResult = GitFetchResult.error(result.getErrorOutputAsJoinedString());
  }
  fetchResult.addPruneInfo(pruneDetector.getPrunedRefs());
  return fetchResult;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:25,代码来源:GitFetcher.java


示例9: setupGetBranches

import git4idea.repo.GitRemote; //导入依赖的package包/类
private void setupGetBranches() {
  myGetBranchesButton.setIcon(AllIcons.Actions.Refresh);
  myGetBranchesButton.setEnabled(myRemote.getItemCount() >= 1);
  myGetBranchesButton.addActionListener(new ActionListener() {
    public void actionPerformed(final ActionEvent e) {
      GitRemote selectedItem = (GitRemote)myRemote.getSelectedItem();
      Collection<String> remoteBranches = selectedItem != null ? getRemoteBranches(selectedItem) : null;
      if (remoteBranches != null) {
        myBranchChooser.removeAllElements();
        for (String branch : remoteBranches) {
          myBranchChooser.addElement(branch, false);
        }
      }
    }
  });
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:GitPullDialog.java


示例10: getCurrentOrDefaultRemote

import git4idea.repo.GitRemote; //导入依赖的package包/类
/**
 * If the current branch is a tracking branch, returns its remote.
 * Otherwise tries to guess: if there is origin, returns origin, otherwise returns the first remote in the list.
 */
@Nullable
private static GitRemote getCurrentOrDefaultRemote(@NotNull GitRepository repository) {
  Collection<GitRemote> remotes = repository.getRemotes();
  if (remotes.isEmpty()) {
    return null;
  }

  GitBranchTrackInfo trackInfo = GitUtil.getTrackInfoForCurrentBranch(repository);
  if (trackInfo != null) {
    return trackInfo.getRemote();
  }
  else {
    GitRemote origin = GitUtil.getDefaultRemote(remotes);
    if (origin != null) {
      return origin;
    }
    else {
      return remotes.iterator().next();
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:26,代码来源:GitPullDialog.java


示例11: getGitRemoteListCellRenderer

import git4idea.repo.GitRemote; //导入依赖的package包/类
/**
 * Create list cell renderer for remotes. It shows both name and url and highlights the default
 * remote for the branch with bold.
 *
 *
 * @param defaultRemote a default remote
 * @return a list cell renderer for virtual files (it renders presentable URL
 */
public ListCellRendererWrapper<GitRemote> getGitRemoteListCellRenderer(final String defaultRemote) {
  return new ListCellRendererWrapper<GitRemote>() {
    @Override
    public void customize(final JList list, final GitRemote remote, final int index, final boolean selected, final boolean hasFocus) {
      final String text;
      if (remote == null) {
        text = GitBundle.getString("util.remote.renderer.none");
      }
      else if (".".equals(remote.getName())) {
        text = GitBundle.getString("util.remote.renderer.self");
      }
      else {
        String key;
        if (defaultRemote != null && defaultRemote.equals(remote.getName())) {
          key = "util.remote.renderer.default";
        }
        else {
          key = "util.remote.renderer.normal";
        }
        text = GitBundle.message(key, remote.getName(), remote.getFirstUrl());
      }
      setText(text);
    }
  };
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:34,代码来源:GitPullDialog.java


示例12: makePushSpec

import git4idea.repo.GitRemote; //导入依赖的package包/类
@NotNull
protected static PushSpec<GitPushSource, GitPushTarget> makePushSpec(@NotNull GitRepository repository,
                                                                     @NotNull String from,
                                                                     @NotNull String to) {
  GitLocalBranch source = repository.getBranches().findLocalBranch(from);
  assertNotNull(source);
  GitRemoteBranch target = (GitRemoteBranch)repository.getBranches().findBranchByName(to);
  boolean newBranch;
  if (target == null) {
    int firstSlash = to.indexOf('/');
    GitRemote remote = GitUtil.findRemoteByName(repository, to.substring(0, firstSlash));
    assertNotNull(remote);
    target = new GitStandardRemoteBranch(remote, to.substring(firstSlash + 1), GitBranch.DUMMY_HASH);
    newBranch = true;
  }
  else {
    newBranch = false;
  }
  return new PushSpec<GitPushSource, GitPushTarget>(GitPushSource.create(source), new GitPushTarget(target, newBranch));
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:21,代码来源:GitPushOperationBaseTest.java


示例13: getTfGitRemote

import git4idea.repo.GitRemote; //导入依赖的package包/类
public static GitRemote getTfGitRemote(@NotNull final GitRepository gitRepository) {
    if (gitRepository == null) {
        throw new IllegalArgumentException();
    }
    GitRemote first = null;
    for (GitRemote gitRemote : gitRepository.getRemotes()) {
        if (isTfGitRemote(gitRemote)) {
            if (gitRemote.getName().equals("origin")) {
                return gitRemote;
            } else if (first == null) {
                first = gitRemote;
            }
        }
    }
    return first;
}
 
开发者ID:Microsoft,项目名称:vso-intellij,代码行数:17,代码来源:TfGitHelper.java


示例14: getDefaultBranch

import git4idea.repo.GitRemote; //导入依赖的package包/类
/**
 * This method for now assumes the default branch name is master
 * <p/>
 * If there is no master, return the first branch on the list or null for empty list
 * <p/>
 * We should get the default branch from TF if necessary, but that's a server call
 */
@Nullable
public static GitRemoteBranch getDefaultBranch(@NotNull final List<GitRemoteBranch> remoteBranches, @NotNull final Collection<GitRemote> tfGitRemotes) {
    if (remoteBranches.isEmpty() || tfGitRemotes.isEmpty()) {
        return null;
    }

    final GitRemote firstTfRemote = tfGitRemotes.iterator().next();

    final String masterBranchName = String.format(MASTER_BRANCH_PATTERN, firstTfRemote.getName());
    for (GitRemoteBranch remoteBranch : remoteBranches) {
        if (remoteBranch.getName().equals(masterBranchName)) {
            return remoteBranch;
        }
    }

    return remoteBranches.get(0);
}
 
开发者ID:Microsoft,项目名称:vso-intellij,代码行数:25,代码来源:TfGitHelper.java


示例15: doActionPerformed

import git4idea.repo.GitRemote; //导入依赖的package包/类
@Override
public void doActionPerformed(@NotNull final AnActionEvent anActionEvent) {
    final Project project = anActionEvent.getRequiredData(CommonDataKeys.PROJECT);
    final VcsFullCommitDetails commit = anActionEvent.getRequiredData(VcsLogDataKeys.VCS_LOG).getSelectedDetails().get(0);

    final GitRepository gitRepository = GitUtil.getRepositoryManager(project).getRepositoryForRoot(commit.getRoot());
    final GitRemote remote = TfGitHelper.getTfGitRemote(gitRepository);

    // guard for null so findbugs doesn't complain
    if (remote == null) {
        return;
    }

    final String remoteUrl = remote.getFirstUrl();
    if (remoteUrl == null) {
        return;
    }

    final URI urlToBrowseTo = UrlHelper.getCommitURI(remoteUrl, commit.getId().toString());
    logger.info("Browsing to url " + urlToBrowseTo.getPath());
    BrowserUtil.browse(urlToBrowseTo);
}
 
开发者ID:Microsoft,项目名称:vso-intellij,代码行数:23,代码来源:OpenCommitInBrowserAction.java


示例16: setUp

import git4idea.repo.GitRemote; //导入依赖的package包/类
@Before
public void setUp() throws Exception {
    projectMock = Mockito.mock(Project.class);
    gitRepoInfoMock = Mockito.mock(GitRepoInfo.class);
    gitRepositoryMock = Mockito.mock(GitRepository.class);
    diffProviderMock = Mockito.mock(DiffCompareInfoProvider.class);
    observerMock = Mockito.mock(Observer.class);
    applicationProviderMock = Mockito.mock(CreatePullRequestModel.ApplicationProvider.class);
    currentBranch = PRGitObjectMockHelper.createLocalBranch("local");

    tfsRemote = new GitRemote("origin", Arrays.asList("https://mytest.visualstudio.com/DefaultCollection/_git/testrepo"),
            Arrays.asList("https://pushurl"), Collections.<String>emptyList(), Collections.<String>emptyList());

    when(diffProviderMock.getEmptyDiff(gitRepositoryMock)).thenCallRealMethod();
    when(gitRepositoryMock.getInfo()).thenReturn(gitRepoInfoMock);
    when(gitRepositoryMock.getRemotes()).thenReturn(Collections.singletonList(tfsRemote));
    when(gitRepoInfoMock.getCurrentBranch()).thenReturn(currentBranch);
}
 
开发者ID:Microsoft,项目名称:vso-intellij,代码行数:19,代码来源:CreatePullRequestModelTest.java


示例17: targetDropDownOnlyShowsTfRemoteBranches

import git4idea.repo.GitRemote; //导入依赖的package包/类
@Test
public void targetDropDownOnlyShowsTfRemoteBranches() {
    GitRemoteBranch first = PRGitObjectMockHelper.createRemoteBranch("origin/test1", tfsRemote);
    GitRemoteBranch second = PRGitObjectMockHelper.createRemoteBranch("origin/test2", tfsRemote);
    GitRemoteBranch master = PRGitObjectMockHelper.createRemoteBranch("origin/master", tfsRemote);

    // two remotes, non tfs repo should be filtered out
    GitRemote nonTfsRemote = new GitRemote("origin", Arrays.asList("https://mytest.notvso.com/git/testrepo"),
            Arrays.asList("https://pushurl"), Collections.<String>emptyList(), Collections.<String>emptyList());

    when(gitRepositoryMock.getRemotes()).thenReturn(Arrays.asList(tfsRemote, nonTfsRemote));
    GitRemoteBranch nonTfsMaster = PRGitObjectMockHelper.createRemoteBranch("other/master", nonTfsRemote);
    when(gitRepoInfoMock.getRemoteBranches()).thenReturn(Arrays.asList(
            first, second, master, nonTfsMaster
    ));
    underTest = new CreatePullRequestModel(projectMock, gitRepositoryMock);

    // nonTfsMaster should be filtered out
    assertEquals(3, underTest.getRemoteBranchDropdownModel().getSize());
    for (int i = 0; i < underTest.getRemoteBranchDropdownModel().getSize(); ++i) {
        assertNotEquals(nonTfsMaster, underTest.getRemoteBranchDropdownModel().getElementAt(i));
    }
}
 
开发者ID:Microsoft,项目名称:vso-intellij,代码行数:24,代码来源:CreatePullRequestModelTest.java


示例18: getPortionOfBitbucketUrl

import git4idea.repo.GitRemote; //导入依赖的package包/类
public static
@Nullable
String getPortionOfBitbucketUrl(Collection<GitRemote> remotes, int group) {
    Iterator<GitRemote> remotesIter = remotes.iterator();
    if (!remotesIter.hasNext()) {
        return null;
    }
    GitRemote firstRemote = remotesIter.next();
    String firstUrl = firstRemote.getFirstUrl();
    if (firstUrl != null) {
        Matcher matcher = BITBUCKET_REPO_PATTERN.matcher(firstUrl);
        if (matcher.matches()) {
            //noinspection UnnecessaryLocalVariable
            String value = matcher.group(group);
            return value;
        }
    }
    return null;
}
 
开发者ID:Biomatters,项目名称:IntelliComment,代码行数:20,代码来源:IntellijUtilities.java


示例19: push

import git4idea.repo.GitRemote; //导入依赖的package包/类
@NotNull
public GtPushResult push(@NotNull TagsPushSpec pushSpec) {
  Preconditions.checkNotNull(pushSpec);
  GitRepository repository = GitUtil.getRepositoryManager(project).getRepositoryForRoot(pushSpec.gitRoot());
  Optional<GitBranchTrackInfo> trackInfo = Optional.ofNullable(GitUtil.getTrackInfoForCurrentBranch(repository));
  if (trackInfo.isPresent()) {
    GitRemote remote = trackInfo.get().getRemote();
    Optional<String> url = Optional.ofNullable(remote.getFirstUrl());
    if (url.isPresent()) {
      return push(pushSpec, repository, remote, url.get());
    } else {
      return GtPushResult.error(ResBundle.message("message.no.remote.url", remote.getName()));
    }
  } else {
    return GtPushResult.error(ResBundle.getString("message.cannot.push.without.tracking"));
  }
}
 
开发者ID:zielu,项目名称:GitToolBox,代码行数:18,代码来源:GitTagsPusher.java


示例20: findGithubRemote

import git4idea.repo.GitRemote; //导入依赖的package包/类
@Nullable
public static Pair<GitRemote, String> findGithubRemote(@NotNull GitRepository repository) {
  Pair<GitRemote, String> githubRemote = null;
  for (GitRemote gitRemote : repository.getRemotes()) {
    for (String remoteUrl : gitRemote.getUrls()) {
      if (GithubUrlUtil.isGithubUrl(remoteUrl)) {
        final String remoteName = gitRemote.getName();
        if ("github".equals(remoteName) || "origin".equals(remoteName)) {
          return new Pair<GitRemote, String>(gitRemote, remoteUrl);
        }
        if (githubRemote == null) {
          githubRemote = new Pair<GitRemote, String>(gitRemote, remoteUrl);
        }
        break;
      }
    }
  }
  return githubRemote;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:20,代码来源:GithubUtil.java



注:本文中的git4idea.repo.GitRemote类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java BooleanQuery类代码示例发布时间:2022-05-22
下一篇:
Java ClientReadStatusProto类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap