Java Code Examples for org.eclipse.jgit.lib.Constants#R_HEADS
The following examples show how to use
org.eclipse.jgit.lib.Constants#R_HEADS .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: SetUpstreamBranchCommand.java From netbeans with Apache License 2.0 | 5 votes |
@Override protected void run () throws GitException { Repository repository = getRepository(); try { Ref ref = repository.findRef(trackedBranchName); if (ref == null) { throw new GitException(MessageFormat.format(Utils.getBundle(SetUpstreamBranchCommand.class) .getString("MSG_Error_UpdateTracking_InvalidReference"), trackedBranchName)); //NOI18N) } String remote = null; String branchName = ref.getName(); StoredConfig config = repository.getConfig(); if (branchName.startsWith(Constants.R_REMOTES)) { String[] elements = branchName.split("/", 4); remote = elements[2]; if (config.getSubsections(ConfigConstants.CONFIG_REMOTE_SECTION).contains(remote)) { branchName = Constants.R_HEADS + elements[3]; setupRebaseFlag(repository); } else { // remote not yet set remote = null; } } if (remote == null) { remote = "."; //NOI18N } config.setString(ConfigConstants.CONFIG_BRANCH_SECTION, localBranchName, ConfigConstants.CONFIG_KEY_REMOTE, remote); config.setString(ConfigConstants.CONFIG_BRANCH_SECTION, localBranchName, ConfigConstants.CONFIG_KEY_MERGE, branchName); config.save(); } catch (IOException ex) { throw new GitException(ex); } ListBranchCommand branchCmd = new ListBranchCommand(repository, getClassFactory(), false, new DelegatingGitProgressMonitor(monitor)); branchCmd.run(); Map<String, GitBranch> branches = branchCmd.getBranches(); branch = branches.get(localBranchName); }
Example 2
Source File: GitUtils.java From onedev with MIT License | 4 votes |
public static String branch2ref(String branch) { return Constants.R_HEADS + branch; }
Example 3
Source File: PushJob.java From orion.server with Eclipse Public License 1.0 | 4 votes |
private IStatus doPush(IProgressMonitor monitor) throws IOException, CoreException, URISyntaxException, GitAPIException { ProgressMonitor gitMonitor = new EclipseGitProgressTransformer(monitor); // /git/remote/{remote}/{branch}/file/{path} File gitDir = GitUtils.getGitDir(path.removeFirstSegments(2)); Repository db = null; JSONObject result = new JSONObject(); try { db = FileRepositoryBuilder.create(gitDir); Git git = Git.wrap(db); PushCommand pushCommand = git.push(); pushCommand.setProgressMonitor(gitMonitor); pushCommand.setTransportConfigCallback(new TransportConfigCallback() { @Override public void configure(Transport t) { credentials.setUri(t.getURI()); if (t instanceof TransportHttp && cookie != null) { HashMap<String, String> map = new HashMap<String, String>(); map.put(GitConstants.KEY_COOKIE, cookie.getName() + "=" + cookie.getValue()); ((TransportHttp) t).setAdditionalHeaders(map); } } }); RemoteConfig remoteConfig = new RemoteConfig(git.getRepository().getConfig(), remote); credentials.setUri(remoteConfig.getURIs().get(0)); pushCommand.setCredentialsProvider(credentials); boolean pushToGerrit = branch.startsWith("for/"); RefSpec spec = new RefSpec(srcRef + ':' + (pushToGerrit ? "refs/" : Constants.R_HEADS) + branch); pushCommand.setRemote(remote).setRefSpecs(spec); if (tags) pushCommand.setPushTags(); pushCommand.setForce(force); Iterable<PushResult> resultIterable = pushCommand.call(); if (monitor.isCanceled()) { return new Status(IStatus.CANCEL, GitActivator.PI_GIT, "Cancelled"); } PushResult pushResult = resultIterable.iterator().next(); boolean error = false; JSONArray updates = new JSONArray(); result.put(GitConstants.KEY_COMMIT_MESSAGE, pushResult.getMessages()); result.put(GitConstants.KEY_UPDATES, updates); for (final RemoteRefUpdate rru : pushResult.getRemoteUpdates()) { if (monitor.isCanceled()) { return new Status(IStatus.CANCEL, GitActivator.PI_GIT, "Cancelled"); } final String rm = rru.getRemoteName(); // check status only for branch given in the URL or tags if (branch.equals(Repository.shortenRefName(rm)) || rm.startsWith(Constants.R_TAGS) || rm.startsWith(Constants.R_REFS + "for/")) { JSONObject object = new JSONObject(); RemoteRefUpdate.Status status = rru.getStatus(); if (status != RemoteRefUpdate.Status.UP_TO_DATE || !rm.startsWith(Constants.R_TAGS)) { object.put(GitConstants.KEY_COMMIT_MESSAGE, rru.getMessage()); object.put(GitConstants.KEY_RESULT, status.name()); TrackingRefUpdate refUpdate = rru.getTrackingRefUpdate(); if (refUpdate != null) { object.put(GitConstants.KEY_REMOTENAME, Repository.shortenRefName(refUpdate.getLocalName())); object.put(GitConstants.KEY_LOCALNAME, Repository.shortenRefName(refUpdate.getRemoteName())); } else { object.put(GitConstants.KEY_REMOTENAME, Repository.shortenRefName(rru.getSrcRef())); object.put(GitConstants.KEY_LOCALNAME, Repository.shortenRefName(rru.getRemoteName())); } updates.put(object); } if (status != RemoteRefUpdate.Status.OK && status != RemoteRefUpdate.Status.UP_TO_DATE) error = true; } // TODO: return results for all updated branches once push is available for remote, see bug 352202 } // needs to handle multiple result.put("Severity", error ? "Error" : "Ok"); } catch (JSONException e) { } finally { if (db != null) { db.close(); } } return new ServerStatus(Status.OK_STATUS, HttpServletResponse.SC_OK, result); }
Example 4
Source File: FetchJob.java From orion.server with Eclipse Public License 1.0 | 4 votes |
private IStatus doFetch(IProgressMonitor monitor) throws IOException, CoreException, URISyntaxException, GitAPIException { ProgressMonitor gitMonitor = new EclipseGitProgressTransformer(monitor); Repository db = null; try { db = getRepository(); Git git = Git.wrap(db); FetchCommand fc = git.fetch(); fc.setProgressMonitor(gitMonitor); RemoteConfig remoteConfig = new RemoteConfig(git.getRepository().getConfig(), remote); credentials.setUri(remoteConfig.getURIs().get(0)); if (this.cookie != null) { fc.setTransportConfigCallback(new TransportConfigCallback() { @Override public void configure(Transport t) { if (t instanceof TransportHttp && cookie != null) { HashMap<String, String> map = new HashMap<String, String>(); map.put(GitConstants.KEY_COOKIE, cookie.getName() + "=" + cookie.getValue()); ((TransportHttp) t).setAdditionalHeaders(map); } } }); } fc.setCredentialsProvider(credentials); fc.setRemote(remote); if (branch != null) { // refs/heads/{branch}:refs/remotes/{remote}/{branch} String remoteBranch = branch; if (branch.startsWith("for/")) { remoteBranch = branch.substring(4); } RefSpec spec = new RefSpec(Constants.R_HEADS + remoteBranch + ":" + Constants.R_REMOTES + remote + "/" + branch); //$NON-NLS-1$ //$NON-NLS-2$ spec = spec.setForceUpdate(force); fc.setRefSpecs(spec); } FetchResult fetchResult = fc.call(); if (monitor.isCanceled()) { return new Status(IStatus.CANCEL, GitActivator.PI_GIT, "Cancelled"); } GitJobUtils.packRefs(db, gitMonitor); if (monitor.isCanceled()) { return new Status(IStatus.CANCEL, GitActivator.PI_GIT, "Cancelled"); } return handleFetchResult(fetchResult); } finally { if (db != null) { db.close(); } } }
Example 5
Source File: Branch.java From github-bucket with ISC License | 4 votes |
public String getFullRef() { return Constants.R_HEADS + branch; }
Example 6
Source File: BranchTest.java From github-bucket with ISC License | 4 votes |
@Test public void shouldBeValid() throws Exception { Branch branch = new Branch(Constants.R_HEADS + Constants.MASTER); assertThat(branch.getShortRef(), is(Constants.MASTER)); assertThat(branch.getFullRef(), is(Constants.R_HEADS + Constants.MASTER)); }
Example 7
Source File: Branch.java From github-bucket with ISC License | 4 votes |
public String getFullRef() { return Constants.R_HEADS + branch; }
Example 8
Source File: BranchTest.java From github-bucket with ISC License | 4 votes |
@Test public void shouldBeValid() throws Exception { Branch branch = new Branch(Constants.R_HEADS + Constants.MASTER); assertThat(branch.getShortRef(), is(Constants.MASTER)); assertThat(branch.getFullRef(), is(Constants.R_HEADS + Constants.MASTER)); }