当前位置: 首页>>代码示例>>Java>>正文


Java GitRepositoryManager.getRepositories方法代码示例

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


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

示例1: getGitRepository

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
@Nullable
public static GitRepository getGitRepository(@NotNull Project project, @Nullable VirtualFile file) {
  GitRepositoryManager manager = GitUtil.getRepositoryManager(project);
  List<GitRepository> repositories = manager.getRepositories();
  if (repositories.size() == 0) {
    return null;
  }
  if (repositories.size() == 1) {
    return repositories.get(0);
  }
  if (file != null) {
    GitRepository repository = manager.getRepositoryForFile(file);
    if (repository != null) {
      return repository;
    }
  }
  return manager.getRepositoryForFile(project.getBaseDir());
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:19,代码来源:GithubUtil.java

示例2: getGitRepository

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
/**
 * Returns the Git repository object for the project or null if this is not a Git repo project.
 *
 * @param project
 * @return
 */
public static GitRepository getGitRepository(final Project project) {
    if (isGitVcs(project)) {
        final GitRepositoryManager manager = GitUtil.getRepositoryManager(project);
        GitRepository repository = manager.getRepositoryForRoot(project.getBaseDir());

        // in the case where the base dir of the Git repo and the base dir of IDEA project don't match this can be null
        if (repository == null) {
            final List<GitRepository> repos = manager.getRepositories();
            if (repos.size() > 0) {
                repository = repos.get(0);
                if (repos.size() > 1) {
                    logger.warn("More than 1 Git repo was found. Defaulting to the first returned: " + repository.getRoot().getPath());
                }
            } else {
                logger.warn("We are in a Git project that does not have any Git repos. (We may be asking too early.)");
            }
        }

        return repository;
    }
    return null;
}
 
开发者ID:Microsoft,项目名称:vso-intellij,代码行数:29,代码来源:VcsHelper.java

示例3: actionPerformedNoRepositories

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
@Test
public void actionPerformedNoRepositories (
        @Mocked final AnActionEvent event,
        @Mocked final NotificationUtil notificationUtil,
        @Mocked final Project project,
        @Mocked final GitRepositoryManager manager
) throws Exception {
    GitExtenderUpdateAll updater = new GitExtenderUpdateAll();

    new Expectations() {{
        event.getProject(); result = project;
        manager.getRepositories(); result = Collections.emptyList();
    }};

    updater.actionPerformed(event);

    new Verifications() {{
        NotificationUtil.showErrorNotification("Update Failed", anyString);
    }};
}
 
开发者ID:JChrist,项目名称:gitextender,代码行数:21,代码来源:GitExtenderUpdateAllTest.java

示例4: actionPerformedCanceledFromDialog

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
@Test
public void actionPerformedCanceledFromDialog (
        @Mocked final AnActionEvent event,
        @Mocked final NotificationUtil notificationUtil,
        @Mocked final Project project,
        @Mocked final GitRepositoryManager manager,
        @Mocked final GitRepository gitRepository,
        @Mocked final ProjectSettingsHandler settingsHandler,
        @Mocked final VcsImplUtil vcsImplUtil,
        @Mocked final SelectModuleDialog dialog
) throws Exception {
    GitExtenderUpdateAll updater = new GitExtenderUpdateAll();

    new Expectations() {{
        event.getProject(); result = project;
        manager.getRepositories(); result = Arrays.asList(gitRepository, gitRepository);
        VcsImplUtil.getShortVcsRootName(project, (VirtualFile) any); result = "test";
        dialog.showAndGet(); result = false;
    }};

    updater.actionPerformed(event);

    new Verifications() {{
        NotificationUtil.showInfoNotification("Update Canceled", anyString);
    }};
}
 
开发者ID:JChrist,项目名称:gitextender,代码行数:27,代码来源:GitExtenderUpdateAllTest.java

示例5: actionPerformedNothingSelectedFromDialog

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
@Test
public void actionPerformedNothingSelectedFromDialog (
        @Mocked final AnActionEvent event,
        @Mocked final NotificationUtil notificationUtil,
        @Mocked final Project project,
        @Mocked final GitRepositoryManager manager,
        @Mocked final GitRepository gitRepository,
        @Mocked final ProjectSettingsHandler settingsHandler,
        @Mocked final VcsImplUtil vcsImplUtil,
        @Mocked final SelectModuleDialog dialog
) throws Exception {
    GitExtenderUpdateAll updater = new GitExtenderUpdateAll();

    new Expectations() {{
        event.getProject(); result = project;
        manager.getRepositories(); result = Arrays.asList(gitRepository, gitRepository);
        VcsImplUtil.getShortVcsRootName(project, (VirtualFile) any); result = "test";
        dialog.showAndGet(); result = true;
    }};

    updater.actionPerformed(event);

    new Verifications() {{
        NotificationUtil.showInfoNotification("Update Canceled", anyString);
    }};
}
 
开发者ID:JChrist,项目名称:gitextender,代码行数:27,代码来源:GitExtenderUpdateAllTest.java

示例6: getGitRepository

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
@Nullable
private static GitRepository getGitRepository(
    @NotNull Project project, @Nullable VirtualFile file) {
  GitRepositoryManager manager = GitUtil.getRepositoryManager(project);
  List<GitRepository> repositories = manager.getRepositories();
  if (repositories.size() == 0) {
    return null;
  }
  if (repositories.size() == 1) {
    return repositories.get(0);
  }
  if (file != null) {
    GitRepository repository = manager.getRepositoryForFile(file);
    if (repository != null) {
      return repository;
    }
  }
  return manager.getRepositoryForFile(project.getBaseDir());
}
 
开发者ID:GoogleCloudPlatform,项目名称:google-cloud-intellij,代码行数:20,代码来源:SetupCloudRepositoryAction.java

示例7: getLocalPath

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
@Nullable
protected VirtualFile getLocalPath(@NotNull Repository repository) {
  GitRepositoryManager manager = GitUtil.getRepositoryManager(myProject);
  List<GitRepository> repositories = manager.getRepositories();
  String location = repository.getUrl();
  for (GitRepository repo : repositories) {
    GitRemote origin = GitUtil.findRemoteByName(repo, GitRemote.ORIGIN);
    if (origin != null) {
      String originFirstUrl = origin.getFirstUrl();
      if (originFirstUrl == null) continue;
      if (location.equals(originFirstUrl)) {
        return repo.getRoot();
      }
    }
  }
  return null;
}
 
开发者ID:ktisha,项目名称:Crucible4IDEA,代码行数:18,代码来源:CrucibleSessionImpl.java

示例8: getGithubUrl

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
@Nullable
private static String getGithubUrl(@NotNull Project project, @NotNull VirtualFile virtualFile, @Nullable Editor editor) {
  GitRepositoryManager manager = GitUtil.getRepositoryManager(project);
  final GitRepository repository = manager.getRepositoryForFile(virtualFile);
  if (repository == null) {
    StringBuilder details = new StringBuilder("file: " + virtualFile.getPresentableUrl() + "; Git repositories: ");
    for (GitRepository repo : manager.getRepositories()) {
      details.append(repo.getPresentableUrl()).append("; ");
    }
    GithubNotifications.showError(project, CANNOT_OPEN_IN_BROWSER, "Can't find git repository", details.toString());
    return null;
  }

  final String githubRemoteUrl = GithubUtil.findGithubRemoteUrl(repository);
  if (githubRemoteUrl == null) {
    GithubNotifications.showError(project, CANNOT_OPEN_IN_BROWSER, "Can't find github remote");
    return null;
  }

  final String rootPath = repository.getRoot().getPath();
  final String path = virtualFile.getPath();
  if (!path.startsWith(rootPath)) {
    GithubNotifications
      .showError(project, CANNOT_OPEN_IN_BROWSER, "File is not under repository root", "Root: " + rootPath + ", file: " + path);
    return null;
  }

  String relativePath = path.substring(rootPath.length());

  String hash = getCurrentFileRevisionHash(project, virtualFile);
  if (hash != null) {
    return makeUrlToOpen(editor, relativePath, hash, githubRemoteUrl);
  }

  GithubNotifications.showError(project, CANNOT_OPEN_IN_BROWSER, "Can't get last revision.");
  return null;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:38,代码来源:GithubOpenInBrowserAction.java

示例9: GitBranchPopup

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
private GitBranchPopup(@NotNull GitRepository currentRepository,
                       @NotNull GitRepositoryManager repositoryManager,
                       @NotNull GitVcsSettings vcsSettings,
                       @NotNull Condition<AnAction> preselectActionCondition) {
  super(currentRepository, repositoryManager, new GitMultiRootBranchConfig(repositoryManager.getRepositories()), vcsSettings,
        preselectActionCondition);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:8,代码来源:GitBranchPopup.java

示例10: createBranchGroup

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
@NotNull
private static AnAction createBranchGroup(@NotNull Project project,
                                          @NotNull VcsRef ref,
                                          @NotNull GitRepository repository,
                                          @NotNull GitRepositoryManager repositoryManager,
                                          @NotNull GitVcsSettings settings,
                                          boolean showBranchesPopup) {
  List<GitRepository> allRepositories = repositoryManager.getRepositories();
  boolean isSyncBranch = settings.getSyncSetting() != DvcsSyncSettings.Value.DONT_SYNC &&
                         allRepositories.size() > 1 && branchInAllRepositories(allRepositories, ref);
  boolean isLocal = ref.getType() == GitRefManager.LOCAL_BRANCH;

  List<AnAction> actions = new ArrayList<AnAction>(3);
  ActionGroup singleRepoActions = createBranchActions(project, Collections.singletonList(repository), ref, repository, isLocal);
  singleRepoActions.setPopup(false);
  actions.add(singleRepoActions);

  if (isSyncBranch) {
    actions.add(Separator.getInstance());
    ActionGroup allReposActions = createBranchActions(project, allRepositories, ref, repository, isLocal);
    allReposActions.getTemplatePresentation().setText("In All Repositories");
    allReposActions.setPopup(true);
    actions.add(allReposActions);
  }

  String text = showBranchesPopup ? ref.getName() : "Branch '" + ref.getName() + "'";
  ActionGroup group = new DefaultActionGroup(text, actions);
  group.setPopup(true);
  return group;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:31,代码来源:GitLogBranchOperationsActionGroup.java

示例11: refresh

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
@Override
public void refresh(@NotNull Project project) {
  GitRepositoryManager repositoryManager = ServiceManager.getService(project, GitRepositoryManager.class);
  for (GitRepository repository : repositoryManager.getRepositories()) {
    repository.getUntrackedFilesHolder().invalidate();
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:8,代码来源:GitChangesViewRefresher.java

示例12: getRepositoryForProject

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
private GitRepository getRepositoryForProject(final Project project) {
    //find if the project belongs to a local git repository
    final GitRepositoryManager repositoryManager = GitUtil.getRepositoryManager(project);
    final List<GitRepository> localRepositories = repositoryManager.getRepositories();
    final GitRepository repo;
    if (localRepositories.size() == 1) {
        //found one repository for the project
        repo = localRepositories.get(0);
    } else {
        // either none or multiple repositories were found
        // try to find repository for project root
        repo = repositoryManager.getRepositoryForFile(project.getBaseDir());
    }
    return repo;
}
 
开发者ID:Microsoft,项目名称:vso-intellij,代码行数:16,代码来源:ImportPageModelImpl.java

示例13: actionPerformed

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
@Override
public void actionPerformed(@NotNull AnActionEvent event) {
    try {
        Project project = event.getProject();
        if (project == null) {
            logger.warn("received event without project");
            NotificationUtil.showErrorNotification("Update Failed", "Git Extender failed to retrieve the project");
            return;
        }

        GitRepositoryManager manager = getGitRepositoryManager(project);

        if (manager == null) {
            NotificationUtil.showErrorNotification("Update Failed", "Git Extender could not initialize the project's repository manager");
            return;
        }

        List<GitRepository> repositoryList = manager.getRepositories();
        manager.updateAllRepositories();
        if (repositoryList.isEmpty()) {
            logger.info("no git repositories in project");
            NotificationUtil.showErrorNotification("Update Failed", "Git Extender could not find any repositories in the current project");
            return;
        }

        ProjectSettingsHandler projectSettingsHandler = new ProjectSettingsHandler(project);
        boolean proceedToUpdate = showSelectModuleDialog(projectSettingsHandler, repositoryList);
        if(!proceedToUpdate) {
            logger.debug("update cancelled");
            NotificationUtil.showInfoNotification("Update Canceled", "update was canceled");
            return;
        }

        List<GitRepository> reposToUpdate = getSelectedGitRepos(repositoryList,
                projectSettingsHandler.loadSelectedModules());

        if (reposToUpdate.isEmpty()) {
            logger.debug("no modules selected in dialog");
            NotificationUtil.showInfoNotification("Update Canceled", "update was canceled");
            return;
        }

        updateRepositories(project, reposToUpdate);
    } catch (Exception | Error e) {
        logger.warn("error updating project due to exception", e);
        NotificationUtil.showErrorNotification("Update Failed", "Git Extender failed to update the project due to exception: " + e);
    }
}
 
开发者ID:JChrist,项目名称:gitextender,代码行数:49,代码来源:GitExtenderUpdateAll.java

示例14: actionPerformedSingleRepoNoDialog

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
@Test
public void actionPerformedSingleRepoNoDialog (
        final @Mocked GitRepositoryManager gitRepositoryManager,
        final @Mocked GitRepository gitRepository,
        final @Mocked VirtualFile root,
        final @Mocked BackgroundableRepoUpdateTask task,
        final @Mocked VcsImplUtil vcsImplUtil,
        final @Mocked SelectModuleDialog selectModuleDialog,
        final @Mocked ProjectSettingsHandler projectSettingsHandler,
        final @Mocked GitExtenderSettingsHandler gitExtenderSettingsHandler
) throws Exception {
    assertThat(base.getProject())
            .as("null project returned from base")
            .isNotNull();

    final String repoName = base.getProject().getName();

    final GitExtenderUpdateAll updater = new GitExtenderUpdateAll();
    final AnActionEvent event = AnActionEvent.createFromAnAction(updater, null, "somewhere",
            new TestDataProvider(base.getProject()));
    final GitExtenderSettings settings = new GitExtenderSettings();
    new Expectations() {{
        gitRepositoryManager.getRepositories(); result = Collections.singletonList(gitRepository);
        gitRepositoryManager.updateAllRepositories();
        gitRepository.getProject(); result = base.getProject();
        gitRepository.getRoot(); result = root;
        VcsImplUtil.getShortVcsRootName(base.getProject(), root); result = repoName;

        projectSettingsHandler.loadSelectedModules(); result = new ArrayList<>();
        gitExtenderSettingsHandler.loadSettings(); result = settings;

        new BackgroundableRepoUpdateTask(gitRepository, repoName, settings, (AtomicInteger)any, (AccessToken)any);
        result = task;
    }};

    updater.actionPerformed(event);

    new Verifications() {{
        selectModuleDialog.showAndGet(); times = 0;
        task.queue(); times = 1;
    }};
}
 
开发者ID:JChrist,项目名称:gitextender,代码行数:43,代码来源:GitExtenderUpdateAllTest.java

示例15: actionPerformedMultipleReposAllSelected

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
@Test
public void actionPerformedMultipleReposAllSelected (
        final @Mocked GitRepositoryManager gitRepositoryManager,
        final @Mocked GitRepository gitRepository1,
        final @Mocked GitRepository gitRepository2,
        final @Mocked GitRepository gitRepository3,
        final @Mocked VirtualFile root1,
        final @Mocked VirtualFile root2,
        final @Mocked VirtualFile root3,
        final @Mocked BackgroundableRepoUpdateTask task,
        final @Mocked VcsImplUtil vcsImplUtil,
        final @Mocked SelectModuleDialog selectModuleDialog,
        final @Mocked ProjectSettingsHandler projectSettingsHandler,
        final @Mocked GitExtenderSettingsHandler gitExtenderSettingsHandler
) throws Exception {
    assertThat(base.getProject())
            .as("null project returned from base")
            .isNotNull();

    final String baseRepoName = base.getProject().getName();
    final String repoName1 = baseRepoName + "_1";
    final String repoName2 = baseRepoName + "_2";
    final String repoName3 = baseRepoName + "_3";

    final GitExtenderUpdateAll updater = new GitExtenderUpdateAll();
    final AnActionEvent event = AnActionEvent.createFromAnAction(updater, null, "somewhere",
            new TestDataProvider(base.getProject()));
    final GitExtenderSettings settings = new GitExtenderSettings();
    new Expectations() {{
        gitRepositoryManager.getRepositories();
        result = Arrays.asList(gitRepository1, gitRepository2, gitRepository3);
        gitRepositoryManager.updateAllRepositories();
        gitRepository1.getProject(); result = base.getProject();
        gitRepository2.getProject(); result = base.getProject();
        gitRepository3.getProject(); result = base.getProject();
        gitRepository1.getRoot(); result = root1;
        gitRepository2.getRoot(); result = root2;
        gitRepository3.getRoot(); result = root3;
        VcsImplUtil.getShortVcsRootName(base.getProject(), root1); result = repoName1;
        VcsImplUtil.getShortVcsRootName(base.getProject(), root2); result = repoName2;
        VcsImplUtil.getShortVcsRootName(base.getProject(), root3); result = repoName3;

        selectModuleDialog.showAndGet(); result = true;
        projectSettingsHandler.loadSelectedModules();
        result = new ArrayList<>(Arrays.asList(repoName1, repoName2, repoName3));

        gitExtenderSettingsHandler.loadSettings(); result = settings;

        new BackgroundableRepoUpdateTask(gitRepository1, repoName1, settings, (AtomicInteger)any, (AccessToken)any);
        result = task;
        new BackgroundableRepoUpdateTask(gitRepository2, repoName2, settings, (AtomicInteger)any, (AccessToken)any);
        result = task;
        new BackgroundableRepoUpdateTask(gitRepository3, repoName3, settings, (AtomicInteger)any, (AccessToken)any);
        result = task;
    }};

    updater.actionPerformed(event);

    new Verifications() {{
        task.queue(); times = 3;
    }};
}
 
开发者ID:JChrist,项目名称:gitextender,代码行数:63,代码来源:GitExtenderUpdateAllTest.java


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