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


Java GitRepositoryManager.getRepositoryForFile方法代码示例

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


在下文中一共展示了GitRepositoryManager.getRepositoryForFile方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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包/类
@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

示例3: isRebasing

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
protected static boolean isRebasing(AnActionEvent e) {
  final Project project = e.getData(PlatformDataKeys.PROJECT);
  if (project != null) {
    final VirtualFile[] files = e.getData(PlatformDataKeys.VIRTUAL_FILE_ARRAY);
    if (files != null) {
      for (VirtualFile file : files) {
        GitRepositoryManager manager = GitUtil.getRepositoryManager(project);
        if (manager == null) {
          return false;
        }
        final GitRepository repositoryForFile = manager.getRepositoryForFile(file);
        if (repositoryForFile != null && repositoryForFile.getState() == GitRepository.State.REBASING) {
          return true;
        }
      }
    }
  }
  return false;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:20,代码来源:GitRepositoryAction.java

示例4: update

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
@Override
public void update(final AnActionEvent e) {
  Project project = e.getData(CommonDataKeys.PROJECT);
  VirtualFile virtualFile = e.getData(CommonDataKeys.VIRTUAL_FILE);
  if (project == null || project.isDefault() || virtualFile == null) {
    setVisibleEnabled(e, false, false);
    return;
  }
  GitRepositoryManager manager = GitUtil.getRepositoryManager(project);

  final GitRepository gitRepository = manager.getRepositoryForFile(virtualFile);
  if (gitRepository == null) {
    setVisibleEnabled(e, false, false);
    return;
  }

  if (!GithubUtil.isRepositoryOnGitHub(gitRepository)) {
    setVisibleEnabled(e, false, false);
    return;
  }

  ChangeListManager changeListManager = ChangeListManager.getInstance(project);
  if (changeListManager.isUnversioned(virtualFile)) {
    setVisibleEnabled(e, true, false);
    return;
  }

  Change change = changeListManager.getChange(virtualFile);
  if (change != null && change.getType() == Change.Type.NEW) {
    setVisibleEnabled(e, true, false);
    return;
  }

  setVisibleEnabled(e, true, true);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:36,代码来源:GithubOpenInBrowserAction.java

示例5: 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

示例6: update

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
@Override
public void update(@NotNull AnActionEvent e) {
  super.update(e);
  Presentation presentation = e.getPresentation();
  Project project = e.getProject();
  if (project == null) {
    presentation.setEnabled(false);
    presentation.setVisible(false);
    return;
  }

  VirtualFile[] vFiles = e.getData(CommonDataKeys.VIRTUAL_FILE_ARRAY);
  if (vFiles == null || vFiles.length != 1 || vFiles[0] == null) { // only 1 file for now
    presentation.setEnabled(false);
    presentation.setVisible(true);
    return;
  }

  GitRepositoryManager manager = GitUtil.getRepositoryManager(project);

  GitRepository repository = manager.getRepositoryForFile(vFiles[0]);
  if (repository == null || repository.isFresh() || noBranchesToCompare(repository)) {
    presentation.setEnabled(false);
    presentation.setVisible(true);
    return;
  }

  presentation.setEnabled(true);
  presentation.setVisible(true);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:31,代码来源:GitCompareWithBranchAction.java

示例7: 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

示例8: doActionPerformed

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
@Override
public void doActionPerformed(final AnActionEvent anActionEvent) {
    final Project project = anActionEvent.getRequiredData(CommonDataKeys.PROJECT);
    final VirtualFile virtualFile = anActionEvent.getRequiredData(CommonDataKeys.VIRTUAL_FILE);

    final GitRepositoryManager manager = GitUtil.getRepositoryManager(project);
    final GitRepository gitRepository = manager.getRepositoryForFile(virtualFile);
    final GitRemote gitRemote = TfGitHelper.getTfGitRemote(gitRepository);

    // guard for null so findbugs doesn't complain
    if (gitRemote == null || gitRepository == null || gitRepository.getRoot() == null) {
        return;
    }

    final String rootPath = gitRepository.getRoot().getPath();
    final String path = virtualFile.getPath();
    final String relativePath = path.substring(rootPath.length());

    String gitRemoteBranchName = StringUtils.EMPTY;
    final GitLocalBranch gitLocalBranch = gitRepository.getCurrentBranch();
    if (gitLocalBranch != null) {
        final GitRemoteBranch gitRemoteBranch = gitLocalBranch.findTrackedBranch(gitRepository);
        if (gitRemoteBranch != null) {
            gitRemoteBranchName = gitRemoteBranch.getNameForRemoteOperations();
        }
    }

    final URI urlToBrowseTo = UrlHelper.getFileURI(gitRemote.getFirstUrl(), encodeVirtualFilePath(relativePath), gitRemoteBranchName);
    logger.info("Browsing to url " + urlToBrowseTo.getPath());
    BrowserUtil.browse(urlToBrowseTo);
}
 
开发者ID:Microsoft,项目名称:vso-intellij,代码行数:32,代码来源:OpenFileInBrowserAction.java

示例9: update

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
@Override
public void update(final AnActionEvent e) {
  Project project = e.getData(PlatformDataKeys.PROJECT);
  VirtualFile virtualFile = e.getData(PlatformDataKeys.VIRTUAL_FILE);
  if (project == null || project.isDefault() || virtualFile == null) {
    setVisibleEnabled(e, false, false);
    return;
  }
  GitRepositoryManager manager = GitUtil.getRepositoryManager(project);

  final GitRepository gitRepository = manager.getRepositoryForFile(virtualFile);
  if (gitRepository == null) {
    setVisibleEnabled(e, false, false);
    return;
  }

  if (!GithubUtil.isRepositoryOnGitHub(gitRepository)) {
    setVisibleEnabled(e, false, false);
    return;
  }

  ChangeListManager changeListManager = ChangeListManager.getInstance(project);
  if (changeListManager.isUnversioned(virtualFile)) {
    setVisibleEnabled(e, true, false);
    return;
  }

  Change change = changeListManager.getChange(virtualFile);
  if (change != null && change.getType() == Change.Type.NEW) {
    setVisibleEnabled(e, true, false);
    return;
  }

  setVisibleEnabled(e, true, true);
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:36,代码来源:GithubOpenInBrowserAction.java

示例10: update

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
@Override
public void update(AnActionEvent e) {
  super.update(e);
  Presentation presentation = e.getPresentation();
  Project project = e.getProject();
  if (project == null) {
    presentation.setEnabled(false);
    presentation.setVisible(false);
    return;
  }

  VirtualFile[] vFiles = e.getData(PlatformDataKeys.VIRTUAL_FILE_ARRAY);
  if (vFiles == null || vFiles.length != 1 || vFiles[0] == null) { // only 1 file for now
    presentation.setEnabled(false);
    presentation.setVisible(true);
    return;
  }

  GitRepositoryManager manager = GitUtil.getRepositoryManager(project);

  GitRepository repository = manager.getRepositoryForFile(vFiles[0]);
  if (repository == null || repository.isFresh() || noBranchesToCompare(repository)) {
    presentation.setEnabled(false);
    presentation.setVisible(true);
    return;
  }

  presentation.setEnabled(true);
  presentation.setVisible(true);
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:31,代码来源:GitCompareWithBranchAction.java

示例11: canShowHistoryFor

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
@Override
public boolean canShowHistoryFor(@NotNull VirtualFile file) {
  GitRepositoryManager manager = GitUtil.getRepositoryManager(myProject);
  GitRepository repository = manager.getRepositoryForFile(file);
  return repository != null && !repository.isFresh();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:7,代码来源:GitHistoryProvider.java

示例12: actionPerformed

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
@Override
public void actionPerformed(final AnActionEvent e) {
  final Project project = e.getData(PlatformDataKeys.PROJECT);
  final VirtualFile virtualFile = e.getData(PlatformDataKeys.VIRTUAL_FILE);
  if (virtualFile == null || project == null || project.isDisposed()) {
    return;
  }

  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;
  }

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

  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;
  }

  String branch = getBranchNameOnRemote(project, repository);
  if (branch == null) {
    return;
  }

  String relativePath = path.substring(rootPath.length());
  String urlToOpen = makeUrlToOpen(e, relativePath, branch, githubRemoteUrl);
  if (urlToOpen == null) {
    GithubNotifications.showError(project, CANNOT_OPEN_IN_BROWSER, "Can't create properly url", githubRemoteUrl);
    return;
  }
  BrowserUtil.launchBrowser(urlToOpen);
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:47,代码来源:GithubOpenInBrowserAction.java

示例13: actionPerformed

import git4idea.repo.GitRepositoryManager; //导入方法依赖的package包/类
@Override
public void actionPerformed(final AnActionEvent e) {
    final Project project = e.getData(PlatformDataKeys.PROJECT);
    final VirtualFile virtualFile = e.getData(PlatformDataKeys.VIRTUAL_FILE);
    final Editor editor = e.getData(PlatformDataKeys.EDITOR);
    if (virtualFile == null || project == null || project.isDisposed()) {
        return;
    }

    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("; ");
        }
        showError(project, CANNOT_OPEN_IN_BROWSER, "Can't find git repository", details.toString());
        return;
    }

    final String rootPath = repository.getRoot().getPath();
    final String path = virtualFile.getPath();

    List<AnAction> remoteSelectedActions = new ArrayList<AnAction>();

    for (GitRemote remote : repository.getRemotes()) {
        remoteSelectedActions.add(new RemoteSelectedAction(project, repository, editor, remote, rootPath, path));
    }

    if (remoteSelectedActions.size() > 1) {
        DefaultActionGroup remotesActionGroup = new DefaultActionGroup();
        remotesActionGroup.addAll(remoteSelectedActions);
        DataContext dataContext = e.getDataContext();
        final ListPopup popup = JBPopupFactory.getInstance().createActionGroupPopup(
                        "Select remote",
                        remotesActionGroup,
                        dataContext,
                        JBPopupFactory.ActionSelectionAid.SPEEDSEARCH,
                        true);

        popup.showInBestPositionFor(dataContext);
    } else if (remoteSelectedActions.size() == 1) {
        remoteSelectedActions.get(0).actionPerformed(null);
    } else {
        showError(project, CANNOT_OPEN_IN_BROWSER, "Can't find gitlab remote");
    }
}
 
开发者ID:bsideup,项目名称:IDEA-GitLab-Integration,代码行数:48,代码来源:GitLabOpenInBrowserAction.java


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