private boolean hasOriginRemote() { return gitRepository .getRemotes() .stream() .anyMatch(remote -> "origin".equals(remote.getName())); } }
public Iterable<GitRepository> getRepositories(Project project) { GitRepositoryManager repositoryManager = GitUtil.getRepositoryManager(project); return repositoryManager.getRepositories(); }
public GitlabServer currentGitlabServer(GitRepository gitRepository) { for (GitRemote gitRemote : gitRepository.getRemotes()) { for (String remoteUrl : gitRemote.getUrls()) { for(GitlabServer server : getGitlabServers()) { if(remoteUrl.contains(server.getRepositoryUrl())) return server; } } } return null; }
public Optional<GitRepository> getRepositoryForGerritProject(Project project, String gerritProjectName) { final Iterable<GitRepository> repositoriesFromRoots = getRepositories(project); for (GitRepository repository : repositoriesFromRoots) { for (GitRemote remote : repository.getRemotes()) { if (remote.getName().equals(gerritProjectName)) { return Optional.of(repository); } for (String remoteUrl : remote.getUrls()) { remoteUrl = UrlUtils.stripGitExtension(remoteUrl); if (remoteUrl != null && remoteUrl.endsWith(gerritProjectName)) { return Optional.of(repository); } } } } return Optional.absent(); }
@NotNull public Pair<List<GitCommit>, List<GitCommit>> loadCommitsToCompare(@NotNull GitRepository repository, @NotNull final String branchName, @NotNull final Project project) { final List<GitCommit> headToBranch; final List<GitCommit> branchToHead; try { headToBranch = GitHistoryUtils.history(project, repository.getRoot(), ".." + branchName); branchToHead = GitHistoryUtils.history(project, repository.getRoot(), branchName + ".."); } catch (VcsException e) { // we treat it as critical and report an error throw new GitExecutionException("Couldn't get [git log .." + branchName + "] on repository [" + repository.getRoot() + "]", e); } return Pair.create(headToBranch, branchToHead); }
private static void removeGitRemote( final @NotNull Project project, @NotNull GitRepository repository, @NotNull String remote) { final GitSimpleHandler handler = new GitSimpleHandler(project, repository.getRoot(), GitCommand.REMOTE); handler.setSilent(true); try { handler.addParameters("remove", remote); handler.run(); } catch (final VcsException ex) { LOG.error("error removing newly added remote on error:" + ex.toString()); } // catch newly added remote repository.update(); }
@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); }
private String getNameForRepository(GitRepository repository) { return Iterables.getFirst(gerritUtil.getProjectNames(repository.getRemotes()), ""); }
@Override public void run() { repoState.getSourceRepository().update(); if (!targetStash.isNull()) { unstash(project, targetStash, root); } } });
private static boolean hasRemote( @NotNull Collection<GitRemote> remotes, @NotNull String remoteName) { return remotes.stream().anyMatch(remote -> remoteName.equals(remote.getName())); }
private GitRemote remote(String name, String url) { return new GitRemote(name, Arrays.asList(url), emptyList(), emptyList(), emptyList()); }
@Override public void run() { GitRepositoryManager repositoryManager = GitUtil.getRepositoryManager(project); repositoryManager.getRepositoryForRoot(project.getBaseDir()); reloadChanges(project, false); } });
@Nullable public static Pair<GitRemote, String> findGitLabRemote(@NotNull GitRepository repository) { for (GitRemote gitRemote : repository.getRemotes()) { for (String remoteUrl : gitRemote.getUrls()) { if (remoteUrl.contains(settingsState.currentGitlabServer(repository).getRepositoryUrl())) { return Pair.create(gitRemote, gitRemote.getName()); } } } return null; }
public String getRelativePath(Project project, String absoluteFilePath, String gerritProjectName) { Optional<GitRepository> gitRepositoryOptional = gerritGitUtil.getRepositoryForGerritProject(project, gerritProjectName); if (!gitRepositoryOptional.isPresent()) return null; GitRepository repository = gitRepositoryOptional.get(); VirtualFile root = repository.getRoot(); return FileUtil.getRelativePath(new File(root.getPath()), new File(absoluteFilePath)); }
private boolean hasProjectMultipleRepos() { if (project == null) { return false; } GitRepositoryManager repositoryManager = GitUtil.getRepositoryManager(project); return repositoryManager.getRepositories().size() > 1; }
@Before public void startUp() { Mockito.when(mockGitRepository.getRoot()).thenReturn(mockVirtualFile); }
private void setupVcs(final boolean isGit, final boolean isTfvc) { when(mockGitRepositoryManager.getRepositories()).thenReturn(Collections.singletonList(mockGitRepository)); when(mockProjectLevelVcsManager.checkVcsIsActive(GitVcs.NAME)).thenReturn(isGit); when(mockProjectLevelVcsManager.checkVcsIsActive(TFSVcs.TFVC_NAME)).thenReturn(isTfvc); } }
/** Refresh the repository files. */ @SuppressWarnings("ConstantConditions") public void hardRefresh() { if (repoState.hasSourceRepository()) { List<VirtualFile> list = VfsUtil.markDirty(true, true, repoState.getSourceRepository().getRoot()); if (!list.isEmpty()) { LocalFileSystem.getInstance().refreshFiles(list, false, true, null); } } }
@Before public void setUp() throws Exception { gitUtilWrapperMock = Mockito.mock(DiffCompareInfoProvider.GitUtilWrapper.class); projectMock = Mockito.mock(Project.class); gitRepositoryMock = Mockito.mock(GitRepository.class); fileMock = Mockito.mock(VirtualFile.class); when(gitRepositoryMock.getRoot()).thenReturn(fileMock); underTest = new DiffCompareInfoProvider(); underTest.setUtilWrapper(gitUtilWrapperMock); }
private boolean doFetchRemote(@NotNull BranchInfo branch) { if (branch.getName() == null) { return false; } GitFetchResult result = new GitFetcher(project, new EmptyProgressIndicator(), false).fetch(gitRepository.getRoot(), branch.getRemoteName(), null); if (!result.isSuccess()) { GitFetcher.displayFetchResult(project, result, null, result.getErrors()); return false; } return true; }