本文整理汇总了Java中git4idea.repo.GitRepositoryManager类的典型用法代码示例。如果您正苦于以下问题:Java GitRepositoryManager类的具体用法?Java GitRepositoryManager怎么用?Java GitRepositoryManager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
GitRepositoryManager类属于git4idea.repo包,在下文中一共展示了GitRepositoryManager类的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());
}
示例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());
}
示例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);
}
示例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;
}
示例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);
}};
}
示例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);
}};
}
示例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);
}};
}
示例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());
}
示例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");
}
}
示例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;
}
示例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());
}
示例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;
}
示例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));
}
}
示例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());
}
示例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;
}