本文整理汇总了Java中git4idea.repo.GitRemote类的典型用法代码示例。如果您正苦于以下问题:Java GitRemote类的具体用法?Java GitRemote怎么用?Java GitRemote使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
GitRemote类属于git4idea.repo包,在下文中一共展示了GitRemote类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: findGithubRemote
import git4idea.repo.GitRemote; //导入依赖的package包/类
@Nullable
public static Pair<GitRemote, String> findGithubRemote(@NotNull GitRepository repository) {
Pair<GitRemote, String> githubRemote = null;
for (GitRemote gitRemote : repository.getRemotes()) {
for (String remoteUrl : gitRemote.getUrls()) {
if (GithubUrlUtil.isGithubUrl(remoteUrl)) {
final String remoteName = gitRemote.getName();
if ("github".equals(remoteName) || "origin".equals(remoteName)) {
return Pair.create(gitRemote, remoteUrl);
}
if (githubRemote == null) {
githubRemote = Pair.create(gitRemote, remoteUrl);
}
break;
}
}
}
return githubRemote;
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:20,代码来源:GithubUtil.java
示例2: findApplication4Repository
import git4idea.repo.GitRemote; //导入依赖的package包/类
public CloudGitApplication findApplication4Repository() throws ServerRuntimeException {
final List<String> repositoryUrls = new ArrayList<String>();
for (GitRemote remote : getRepository().getRemotes()) {
for (String url : remote.getUrls()) {
repositoryUrls.add(url);
}
}
return getAgentTaskExecutor().execute(new Computable<CloudGitApplication>() {
@Override
public CloudGitApplication compute() {
return getDeployment().findApplication4Repository(ArrayUtil.toStringArray(repositoryUrls));
}
});
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:CloudGitDeploymentRuntime.java
示例3: parse
import git4idea.repo.GitRemote; //导入依赖的package包/类
@NotNull
public static GitPushTarget parse(@NotNull GitRepository repository, @Nullable String remoteName, @NotNull String branchName) throws
ParseException {
if (remoteName == null) {
throw new ParseException("No remotes defined", -1);
}
if (!GitRefNameValidator.getInstance().checkInput(branchName)) {
throw new ParseException("Invalid destination branch name: " + branchName, -1);
}
GitRemote remote = findRemote(repository.getRemotes(), remoteName);
if (remote == null) {
LOG.error("Remote [" + remoteName + "] is not found among " + repository.getRemotes());
throw new ParseException("Invalid remote: " + remoteName, -1);
}
GitRemoteBranch existingRemoteBranch = findRemoteBranch(repository, remote, branchName);
if (existingRemoteBranch != null) {
return new GitPushTarget(existingRemoteBranch, false);
}
GitRemoteBranch rb = new GitStandardRemoteBranch(remote, branchName, GitBranch.DUMMY_HASH);
return new GitPushTarget(rb, true);
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:25,代码来源:GitPushTarget.java
示例4: compare
import git4idea.repo.GitRemote; //导入依赖的package包/类
@Override
public int compare(@NotNull GitRemoteBranch o1, @NotNull GitRemoteBranch o2) {
String remoteName1 = o1.getRemote().getName();
String remoteName2 = o2.getRemote().getName();
int remoteComparison = remoteName1.compareTo(remoteName2);
if (remoteComparison != 0) {
if (remoteName1.equals(GitRemote.ORIGIN_NAME)) {
return -1;
}
if (remoteName2.equals(GitRemote.ORIGIN_NAME)) {
return 1;
}
return remoteComparison;
}
return o1.getNameForLocalOperations().compareTo(o2.getNameForLocalOperations());
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:GitPushTargetPanel.java
示例5: proposeTargetForNewBranch
import git4idea.repo.GitRemote; //导入依赖的package包/类
private static GitPushTarget proposeTargetForNewBranch(GitRepository repository, GitLocalBranch currentBranch) {
Collection<GitRemote> remotes = repository.getRemotes();
if (remotes.isEmpty()) {
return null; // TODO need to propose to declare new remote
}
else if (remotes.size() == 1) {
return makeTargetForNewBranch(repository, remotes.iterator().next(), currentBranch);
}
else {
GitRemote remote = GitUtil.getDefaultRemote(remotes);
if (remote == null) {
remote = remotes.iterator().next();
}
return makeTargetForNewBranch(repository, remote, currentBranch);
}
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:GitPushSupport.java
示例6: fetch
import git4idea.repo.GitRemote; //导入依赖的package包/类
/**
* Fetch remote branch
* {@code git fetch <remote> <params>}
*/
@Override
@NotNull
public GitCommandResult fetch(@NotNull final GitRepository repository,
@NotNull final GitRemote remote,
@NotNull final List<GitLineHandlerListener> listeners,
final String... params) {
return runCommand(new Computable<GitLineHandler>() {
@Override
public GitLineHandler compute() {
final GitLineHandler h = new GitLineHandler(repository.getProject(), repository.getRoot(), GitCommand.FETCH);
h.setSilent(false);
h.setStdoutSuppressed(false);
h.setUrls(remote.getUrls());
h.addParameters(remote.getName());
h.addParameters(params);
h.addProgressParameter();
GitVcs vcs = GitVcs.getInstance(repository.getProject());
if (vcs != null && GitVersionSpecialty.SUPPORTS_FETCH_PRUNE.existsIn(vcs.getVersion())) {
h.addParameters("--prune");
}
addListeners(h, listeners);
return h;
}
});
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:30,代码来源:GitImpl.java
示例7: fetchAll
import git4idea.repo.GitRemote; //导入依赖的package包/类
@NotNull
private GitFetchResult fetchAll(@NotNull GitRepository repository, @NotNull GitFetchResult fetchResult) {
for (GitRemote remote : repository.getRemotes()) {
String url = remote.getFirstUrl();
if (url == null) {
LOG.error("URL is null for remote " + remote.getName());
continue;
}
GitFetchResult res = fetchNatively(repository, remote, null);
res.addPruneInfo(fetchResult.getPrunedRefs());
fetchResult = res;
if (!fetchResult.isSuccess()) {
break;
}
}
return fetchResult;
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:GitFetcher.java
示例8: fetchNatively
import git4idea.repo.GitRemote; //导入依赖的package包/类
@NotNull
private static GitFetchResult fetchNatively(@NotNull GitRepository repository, @NotNull GitRemote remote, @Nullable String branch) {
Git git = ServiceManager.getService(Git.class);
String[] additionalParams = branch != null ?
new String[]{ getFetchSpecForBranch(branch, remote.getName()) } :
ArrayUtil.EMPTY_STRING_ARRAY;
GitFetchPruneDetector pruneDetector = new GitFetchPruneDetector();
GitCommandResult result = git.fetch(repository, remote,
Collections.<GitLineHandlerListener>singletonList(pruneDetector), additionalParams);
GitFetchResult fetchResult;
if (result.success()) {
fetchResult = GitFetchResult.success();
}
else if (result.cancelled()) {
fetchResult = GitFetchResult.cancel();
}
else {
fetchResult = GitFetchResult.error(result.getErrorOutputAsJoinedString());
}
fetchResult.addPruneInfo(pruneDetector.getPrunedRefs());
return fetchResult;
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:25,代码来源:GitFetcher.java
示例9: setupGetBranches
import git4idea.repo.GitRemote; //导入依赖的package包/类
private void setupGetBranches() {
myGetBranchesButton.setIcon(AllIcons.Actions.Refresh);
myGetBranchesButton.setEnabled(myRemote.getItemCount() >= 1);
myGetBranchesButton.addActionListener(new ActionListener() {
public void actionPerformed(final ActionEvent e) {
GitRemote selectedItem = (GitRemote)myRemote.getSelectedItem();
Collection<String> remoteBranches = selectedItem != null ? getRemoteBranches(selectedItem) : null;
if (remoteBranches != null) {
myBranchChooser.removeAllElements();
for (String branch : remoteBranches) {
myBranchChooser.addElement(branch, false);
}
}
}
});
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:GitPullDialog.java
示例10: getCurrentOrDefaultRemote
import git4idea.repo.GitRemote; //导入依赖的package包/类
/**
* If the current branch is a tracking branch, returns its remote.
* Otherwise tries to guess: if there is origin, returns origin, otherwise returns the first remote in the list.
*/
@Nullable
private static GitRemote getCurrentOrDefaultRemote(@NotNull GitRepository repository) {
Collection<GitRemote> remotes = repository.getRemotes();
if (remotes.isEmpty()) {
return null;
}
GitBranchTrackInfo trackInfo = GitUtil.getTrackInfoForCurrentBranch(repository);
if (trackInfo != null) {
return trackInfo.getRemote();
}
else {
GitRemote origin = GitUtil.getDefaultRemote(remotes);
if (origin != null) {
return origin;
}
else {
return remotes.iterator().next();
}
}
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:26,代码来源:GitPullDialog.java
示例11: getGitRemoteListCellRenderer
import git4idea.repo.GitRemote; //导入依赖的package包/类
/**
* Create list cell renderer for remotes. It shows both name and url and highlights the default
* remote for the branch with bold.
*
*
* @param defaultRemote a default remote
* @return a list cell renderer for virtual files (it renders presentable URL
*/
public ListCellRendererWrapper<GitRemote> getGitRemoteListCellRenderer(final String defaultRemote) {
return new ListCellRendererWrapper<GitRemote>() {
@Override
public void customize(final JList list, final GitRemote remote, final int index, final boolean selected, final boolean hasFocus) {
final String text;
if (remote == null) {
text = GitBundle.getString("util.remote.renderer.none");
}
else if (".".equals(remote.getName())) {
text = GitBundle.getString("util.remote.renderer.self");
}
else {
String key;
if (defaultRemote != null && defaultRemote.equals(remote.getName())) {
key = "util.remote.renderer.default";
}
else {
key = "util.remote.renderer.normal";
}
text = GitBundle.message(key, remote.getName(), remote.getFirstUrl());
}
setText(text);
}
};
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:34,代码来源:GitPullDialog.java
示例12: makePushSpec
import git4idea.repo.GitRemote; //导入依赖的package包/类
@NotNull
protected static PushSpec<GitPushSource, GitPushTarget> makePushSpec(@NotNull GitRepository repository,
@NotNull String from,
@NotNull String to) {
GitLocalBranch source = repository.getBranches().findLocalBranch(from);
assertNotNull(source);
GitRemoteBranch target = (GitRemoteBranch)repository.getBranches().findBranchByName(to);
boolean newBranch;
if (target == null) {
int firstSlash = to.indexOf('/');
GitRemote remote = GitUtil.findRemoteByName(repository, to.substring(0, firstSlash));
assertNotNull(remote);
target = new GitStandardRemoteBranch(remote, to.substring(firstSlash + 1), GitBranch.DUMMY_HASH);
newBranch = true;
}
else {
newBranch = false;
}
return new PushSpec<GitPushSource, GitPushTarget>(GitPushSource.create(source), new GitPushTarget(target, newBranch));
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:21,代码来源:GitPushOperationBaseTest.java
示例13: getTfGitRemote
import git4idea.repo.GitRemote; //导入依赖的package包/类
public static GitRemote getTfGitRemote(@NotNull final GitRepository gitRepository) {
if (gitRepository == null) {
throw new IllegalArgumentException();
}
GitRemote first = null;
for (GitRemote gitRemote : gitRepository.getRemotes()) {
if (isTfGitRemote(gitRemote)) {
if (gitRemote.getName().equals("origin")) {
return gitRemote;
} else if (first == null) {
first = gitRemote;
}
}
}
return first;
}
开发者ID:Microsoft,项目名称:vso-intellij,代码行数:17,代码来源:TfGitHelper.java
示例14: getDefaultBranch
import git4idea.repo.GitRemote; //导入依赖的package包/类
/**
* This method for now assumes the default branch name is master
* <p/>
* If there is no master, return the first branch on the list or null for empty list
* <p/>
* We should get the default branch from TF if necessary, but that's a server call
*/
@Nullable
public static GitRemoteBranch getDefaultBranch(@NotNull final List<GitRemoteBranch> remoteBranches, @NotNull final Collection<GitRemote> tfGitRemotes) {
if (remoteBranches.isEmpty() || tfGitRemotes.isEmpty()) {
return null;
}
final GitRemote firstTfRemote = tfGitRemotes.iterator().next();
final String masterBranchName = String.format(MASTER_BRANCH_PATTERN, firstTfRemote.getName());
for (GitRemoteBranch remoteBranch : remoteBranches) {
if (remoteBranch.getName().equals(masterBranchName)) {
return remoteBranch;
}
}
return remoteBranches.get(0);
}
开发者ID:Microsoft,项目名称:vso-intellij,代码行数:25,代码来源:TfGitHelper.java
示例15: doActionPerformed
import git4idea.repo.GitRemote; //导入依赖的package包/类
@Override
public void doActionPerformed(@NotNull final AnActionEvent anActionEvent) {
final Project project = anActionEvent.getRequiredData(CommonDataKeys.PROJECT);
final VcsFullCommitDetails commit = anActionEvent.getRequiredData(VcsLogDataKeys.VCS_LOG).getSelectedDetails().get(0);
final GitRepository gitRepository = GitUtil.getRepositoryManager(project).getRepositoryForRoot(commit.getRoot());
final GitRemote remote = TfGitHelper.getTfGitRemote(gitRepository);
// guard for null so findbugs doesn't complain
if (remote == null) {
return;
}
final String remoteUrl = remote.getFirstUrl();
if (remoteUrl == null) {
return;
}
final URI urlToBrowseTo = UrlHelper.getCommitURI(remoteUrl, commit.getId().toString());
logger.info("Browsing to url " + urlToBrowseTo.getPath());
BrowserUtil.browse(urlToBrowseTo);
}
开发者ID:Microsoft,项目名称:vso-intellij,代码行数:23,代码来源:OpenCommitInBrowserAction.java
示例16: setUp
import git4idea.repo.GitRemote; //导入依赖的package包/类
@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);
}
开发者ID:Microsoft,项目名称:vso-intellij,代码行数:19,代码来源:CreatePullRequestModelTest.java
示例17: targetDropDownOnlyShowsTfRemoteBranches
import git4idea.repo.GitRemote; //导入依赖的package包/类
@Test
public void targetDropDownOnlyShowsTfRemoteBranches() {
GitRemoteBranch first = PRGitObjectMockHelper.createRemoteBranch("origin/test1", tfsRemote);
GitRemoteBranch second = PRGitObjectMockHelper.createRemoteBranch("origin/test2", tfsRemote);
GitRemoteBranch master = PRGitObjectMockHelper.createRemoteBranch("origin/master", tfsRemote);
// two remotes, non tfs repo should be filtered out
GitRemote nonTfsRemote = new GitRemote("origin", Arrays.asList("https://mytest.notvso.com/git/testrepo"),
Arrays.asList("https://pushurl"), Collections.<String>emptyList(), Collections.<String>emptyList());
when(gitRepositoryMock.getRemotes()).thenReturn(Arrays.asList(tfsRemote, nonTfsRemote));
GitRemoteBranch nonTfsMaster = PRGitObjectMockHelper.createRemoteBranch("other/master", nonTfsRemote);
when(gitRepoInfoMock.getRemoteBranches()).thenReturn(Arrays.asList(
first, second, master, nonTfsMaster
));
underTest = new CreatePullRequestModel(projectMock, gitRepositoryMock);
// nonTfsMaster should be filtered out
assertEquals(3, underTest.getRemoteBranchDropdownModel().getSize());
for (int i = 0; i < underTest.getRemoteBranchDropdownModel().getSize(); ++i) {
assertNotEquals(nonTfsMaster, underTest.getRemoteBranchDropdownModel().getElementAt(i));
}
}
开发者ID:Microsoft,项目名称:vso-intellij,代码行数:24,代码来源:CreatePullRequestModelTest.java
示例18: getPortionOfBitbucketUrl
import git4idea.repo.GitRemote; //导入依赖的package包/类
public static
@Nullable
String getPortionOfBitbucketUrl(Collection<GitRemote> remotes, int group) {
Iterator<GitRemote> remotesIter = remotes.iterator();
if (!remotesIter.hasNext()) {
return null;
}
GitRemote firstRemote = remotesIter.next();
String firstUrl = firstRemote.getFirstUrl();
if (firstUrl != null) {
Matcher matcher = BITBUCKET_REPO_PATTERN.matcher(firstUrl);
if (matcher.matches()) {
//noinspection UnnecessaryLocalVariable
String value = matcher.group(group);
return value;
}
}
return null;
}
开发者ID:Biomatters,项目名称:IntelliComment,代码行数:20,代码来源:IntellijUtilities.java
示例19: push
import git4idea.repo.GitRemote; //导入依赖的package包/类
@NotNull
public GtPushResult push(@NotNull TagsPushSpec pushSpec) {
Preconditions.checkNotNull(pushSpec);
GitRepository repository = GitUtil.getRepositoryManager(project).getRepositoryForRoot(pushSpec.gitRoot());
Optional<GitBranchTrackInfo> trackInfo = Optional.ofNullable(GitUtil.getTrackInfoForCurrentBranch(repository));
if (trackInfo.isPresent()) {
GitRemote remote = trackInfo.get().getRemote();
Optional<String> url = Optional.ofNullable(remote.getFirstUrl());
if (url.isPresent()) {
return push(pushSpec, repository, remote, url.get());
} else {
return GtPushResult.error(ResBundle.message("message.no.remote.url", remote.getName()));
}
} else {
return GtPushResult.error(ResBundle.getString("message.cannot.push.without.tracking"));
}
}
开发者ID:zielu,项目名称:GitToolBox,代码行数:18,代码来源:GitTagsPusher.java
示例20: findGithubRemote
import git4idea.repo.GitRemote; //导入依赖的package包/类
@Nullable
public static Pair<GitRemote, String> findGithubRemote(@NotNull GitRepository repository) {
Pair<GitRemote, String> githubRemote = null;
for (GitRemote gitRemote : repository.getRemotes()) {
for (String remoteUrl : gitRemote.getUrls()) {
if (GithubUrlUtil.isGithubUrl(remoteUrl)) {
final String remoteName = gitRemote.getName();
if ("github".equals(remoteName) || "origin".equals(remoteName)) {
return new Pair<GitRemote, String>(gitRemote, remoteUrl);
}
if (githubRemote == null) {
githubRemote = new Pair<GitRemote, String>(gitRemote, remoteUrl);
}
break;
}
}
}
return githubRemote;
}
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:20,代码来源:GithubUtil.java
注:本文中的git4idea.repo.GitRemote类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论