本文整理汇总了Java中git4idea.repo.GitRepositoryManager类的典型用法代码示例。如果您正苦于以下问题:Java GitRepositoryManager类的具体用法?Java GitRepositoryManager怎么用?Java GitRepositoryManager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
GitRepositoryManager类属于git4idea.repo包,在下文中一共展示了GitRepositoryManager类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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: perform
import git4idea.repo.GitRepositoryManager; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
protected void perform(@NotNull Project project,
@NotNull List<VirtualFile> gitRoots,
@NotNull VirtualFile defaultRoot,
Set<VirtualFile> affectedRoots,
List<VcsException> exceptions) throws VcsException {
GitResetDialog d = new GitResetDialog(project, gitRoots, defaultRoot);
if (!d.showAndGet()) {
return;
}
GitLineHandler h = d.handler();
affectedRoots.add(d.getGitRoot());
AccessToken token = DvcsUtil.workingTreeChangeStarted(project);
try {
GitHandlerUtil.doSynchronously(h, GitBundle.getString("resetting.title"), h.printableCommandLine());
}
finally {
DvcsUtil.workingTreeChangeFinished(project, token);
}
GitRepositoryManager manager = GitUtil.getRepositoryManager(project);
manager.updateRepository(d.getGitRoot());
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:25,代码来源:GitResetHead.java
示例3: setupGitRepositoryForProject
import git4idea.repo.GitRepositoryManager; //导入依赖的package包/类
private GitRepository setupGitRepositoryForProject(final Project project, final VirtualFile rootVirtualFile,
final ServerContext localContext, final ProgressIndicator indicator) {
//project is not in a local git repository, create one
indicator.setText(TfPluginBundle.message(TfPluginBundle.KEY_IMPORT_GIT_INIT, project.getName()));
final GitLineHandler hInit = new GitLineHandler(project, rootVirtualFile, GitCommand.INIT);
GitHandlerUtil.runInCurrentThread(hInit, null, true, TfPluginBundle.message(TfPluginBundle.KEY_IMPORT_GIT_INIT, project.getName()));
if (!hInit.errors().isEmpty()) {
//git init failed
final String error = hInit.errors().get(0).getMessage();
logger.error("setupGitRepositoryForProject: git init failed on project: {} at root: {} with error: {}",
project.getName(), rootVirtualFile.getUrl(), error);
notifyImportError(project,
TfPluginBundle.message(TfPluginBundle.KEY_IMPORT_GIT_INIT_ERROR, project.getName(), error),
ACTION_NAME, localContext);
return null;
}
GitInit.refreshAndConfigureVcsMappings(project, rootVirtualFile, rootVirtualFile.getPath());
final GitRepositoryManager repositoryManager = GitUtil.getRepositoryManager(project);
return repositoryManager.getRepositoryForRoot(rootVirtualFile);
}
开发者ID:Microsoft,项目名称:vso-intellij,代码行数:21,代码来源:ImportPageModelImpl.java
示例4: 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
示例5: 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
示例6: 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
示例7: 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
示例8: 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
示例9: onAddAutoFetchExclusion
import git4idea.repo.GitRepositoryManager; //导入依赖的package包/类
private void onAddAutoFetchExclusion() {
log.debug("Add exclusions...");
GtRepoChooser chooser = new GtRepoChooser(project, content);
List<GitRepository> excluded = GtUtil.getRepositoriesForRoots(project, autoFetchExclusionsModel.getItems());
log.debug("Currently excluded: ", excluded);
chooser.setSelectedRepositories(excluded);
chooser.setRepositories(GitRepositoryManager.getInstance(project).getRepositories());
if (chooser.showAndGet()) {
log.debug("Exclusions about to change");
List<GitRepository> selectedRepositories = chooser.getSelectedRepositories();
selectedRepositories = GtUtil.sort(selectedRepositories);
List<String> selectedRoots = selectedRepositories.stream()
.map(GitRepository::getRoot)
.map(VirtualFile::getUrl)
.collect(Collectors.toList());
List<String> newContent = autoFetchExclusionsModel.toList();
newContent.addAll(selectedRoots);
log.debug("New exclusions: ", newContent);
replaceAutoFetchExclusions(newContent);
} else {
log.debug("Exclusions change cancelled");
}
}
开发者ID:zielu,项目名称:GitToolBox,代码行数:24,代码来源:GtPrjForm.java
示例10: 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
示例11: perform
import git4idea.repo.GitRepositoryManager; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
protected void perform(@NotNull Project project,
@NotNull List<VirtualFile> gitRoots,
@NotNull VirtualFile defaultRoot,
Set<VirtualFile> affectedRoots,
List<VcsException> exceptions) throws VcsException {
GitResetDialog d = new GitResetDialog(project, gitRoots, defaultRoot);
d.show();
if (!d.isOK()) {
return;
}
GitLineHandler h = d.handler();
affectedRoots.add(d.getGitRoot());
GitHandlerUtil.doSynchronously(h, GitBundle.getString("resetting.title"), h.printableCommandLine());
GitRepositoryManager manager = GitUtil.getRepositoryManager(project);
manager.updateRepository(d.getGitRoot());
}
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:20,代码来源:GitResetHead.java
示例12: createActions
import git4idea.repo.GitRepositoryManager; //导入依赖的package包/类
private ActionGroup createActions() {
DefaultActionGroup popupGroup = new DefaultActionGroup(null, false);
GitRepositoryManager repositoryManager = myRepositoryManager;
if (repositoryManager.moreThanOneRoot()) {
if (!myMultiRootBranchConfig.diverged() && userWantsSyncControl()) {
fillWithCommonRepositoryActions(popupGroup, repositoryManager);
}
else {
fillPopupWithCurrentRepositoryActions(popupGroup, createRepositoriesActions());
}
}
else {
fillPopupWithCurrentRepositoryActions(popupGroup, null);
}
popupGroup.addSeparator();
return popupGroup;
}
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:21,代码来源:GitBranchPopup.java
示例13: fillWithCommonRepositoryActions
import git4idea.repo.GitRepositoryManager; //导入依赖的package包/类
private void fillWithCommonRepositoryActions(DefaultActionGroup popupGroup, GitRepositoryManager repositoryManager) {
List<GitRepository> repositories = repositoryManager.getRepositories();
String currentBranch = myMultiRootBranchConfig.getCurrentBranch();
assert currentBranch != null : "Current branch can't be null if branches have not diverged";
popupGroup.add(new GitBranchPopupActions.GitNewBranchAction(myProject, repositories));
popupGroup.addAll(createRepositoriesActions());
popupGroup.addSeparator("Common Local Branches");
for (String branch : myMultiRootBranchConfig.getLocalBranches()) {
if (!branch.equals(currentBranch)) {
popupGroup.add(new GitBranchPopupActions.LocalBranchActions(myProject, repositories, branch, myCurrentRepository));
}
}
popupGroup.addSeparator("Common Remote Branches");
for (String branch : myMultiRootBranchConfig.getRemoteBranches()) {
popupGroup.add(new GitBranchPopupActions.RemoteBranchActions(myProject, repositories, branch, myCurrentRepository));
}
}
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:21,代码来源:GitBranchPopup.java
示例14: GitVcsPanel
import git4idea.repo.GitRepositoryManager; //导入依赖的package包/类
public GitVcsPanel(@NotNull Project project) {
myVcs = GitVcs.getInstance(project);
myAppSettings = GitVcsApplicationSettings.getInstance();
mySSHExecutableComboBox.addItem(IDEA_SSH);
mySSHExecutableComboBox.addItem(NATIVE_SSH);
mySSHExecutableComboBox.setSelectedItem(IDEA_SSH);
mySSHExecutableComboBox
.setToolTipText(GitBundle.message("git.vcs.config.ssh.mode.tooltip", ApplicationNamesInfo.getInstance().getFullProductName()));
myTestButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
testConnection();
}
});
myGitField.addBrowseFolderListener(GitBundle.getString("find.git.title"), GitBundle.getString("find.git.description"), project,
FileChooserDescriptorFactory.createSingleFileNoJarsDescriptor());
final GitRepositoryManager repositoryManager = ServiceManager.getService(project, GitRepositoryManager.class);
mySyncBranchControl.setVisible(repositoryManager != null && repositoryManager.moreThanOneRoot());
}
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:19,代码来源:GitVcsPanel.java
示例15: 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
示例16: getGitBranch
import git4idea.repo.GitRepositoryManager; //导入依赖的package包/类
public static String getGitBranch(Project project) {
GitRepositoryManager repositoryManager = ServiceManager.getService(project, GitRepositoryManager.class);
if (repositoryManager.getRepositories().size() > 0) {
GitRepository gitRepository = repositoryManager.getRepositories().get(0);
GitLocalBranch branch = gitRepository.getCurrentBranch();
if (branch != null) {
return branch.getName();
}
}
return StringUtils.EMPTY;
}
开发者ID:WesleyElliott,项目名称:IntelliJ-TimeTracker,代码行数:14,代码来源:RepoHelper.java
示例17: 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
示例18: 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
示例19: doRebaseCurrentBranch
import git4idea.repo.GitRepositoryManager; //导入依赖的package包/类
private static void doRebaseCurrentBranch(@NotNull final Project project,
@NotNull final VirtualFile root,
@NotNull final ProgressIndicator indicator) {
final GitRepositoryManager repositoryManager = GitUtil.getRepositoryManager(project);
Git git = ServiceManager.getService(Git.class);
final GitRebaser rebaser = new GitRebaser(project, git, indicator);
final GitLineHandler handler = new GitLineHandler(project, root, GitCommand.REBASE);
handler.setStdoutSuppressed(false);
handler.addParameters("upstream/master");
final GitRebaseProblemDetector rebaseConflictDetector = new GitRebaseProblemDetector();
handler.addLineListener(rebaseConflictDetector);
final GitUntrackedFilesOverwrittenByOperationDetector untrackedFilesDetector =
new GitUntrackedFilesOverwrittenByOperationDetector(root);
final GitLocalChangesWouldBeOverwrittenDetector localChangesDetector = new GitLocalChangesWouldBeOverwrittenDetector(root, CHECKOUT);
handler.addLineListener(untrackedFilesDetector);
handler.addLineListener(localChangesDetector);
handler.addLineListener(GitStandardProgressAnalyzer.createListener(indicator));
String oldText = indicator.getText();
indicator.setText("Rebasing from upstream/master...");
GitCommandResult rebaseResult = git.runCommand(handler);
indicator.setText(oldText);
repositoryManager.updateRepository(root);
if (rebaseResult.success()) {
root.refresh(false, true);
GithubNotifications.showInfo(project, "Success", "Successfully rebased GitHub fork");
}
else {
GitUpdateResult result = rebaser.handleRebaseFailure(handler, root, rebaseConflictDetector,
untrackedFilesDetector, localChangesDetector);
if (result == GitUpdateResult.NOTHING_TO_UPDATE ||
result == GitUpdateResult.SUCCESS ||
result == GitUpdateResult.SUCCESS_WITH_RESOLVED_CONFLICTS) {
GithubNotifications.showInfo(project, "Success", "Successfully rebased GitHub fork");
}
}
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:41,代码来源:GithubRebaseAction.java
示例20: CloudGitRemoteDetector
import git4idea.repo.GitRepositoryManager; //导入依赖的package包/类
public CloudGitRemoteDetector(Project project, GitRepositoryManager repositoryManager, RunManager runManager) {
super(project);
myRepositoryManager = repositoryManager;
myRunManager = (RunManagerEx)runManager;
myNotifier = new CloudNotifier("Git remotes detector");
myDelegates = new ArrayList<CloudTypeDelegate>();
for (CloudGitDeploymentDetector deploymentDetector : CloudGitDeploymentDetector.EP_NAME.getExtensions()) {
myDelegates.add(new CloudTypeDelegate(deploymentDetector));
}
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:13,代码来源:CloudGitRemoteDetector.java
注:本文中的git4idea.repo.GitRepositoryManager类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论