List of usage examples for org.eclipse.jgit.lib SymbolicRef SymbolicRef
public SymbolicRef(@NonNull String refName, @NonNull Ref target)
From source file:com.benhumphreys.jgitcassandra.store.RefStore.java
License:Apache License
/** * Parses a Cassandra refs table row and converts it to a Ref * * @param row a single Cassandra row to parse * @return a ref, or null if the "row" parameter is null * @throws IOException if an exception occurs when communicating to the * database * @throws IllegalStateException if the "type" field read back from the * database is not one of the four handled * types (@see RefType). *//*from w ww . j a v a 2 s .co m*/ private Ref rowToRef(Row row) throws IOException { if (row == null) { return null; } final String name = row.getString("name"); final String value = row.getString("value"); final int refType = row.getInt("type"); if (refType == RefType.PEELED_NONTAG.getValue()) { return new ObjectIdRef.PeeledNonTag(Ref.Storage.NETWORK, name, ObjectId.fromString(value)); } else if (refType == RefType.PEELED_TAG.getValue()) { final String auxValue = row.getString("aux_value"); return new ObjectIdRef.PeeledTag(Ref.Storage.NETWORK, name, ObjectId.fromString(value), ObjectId.fromString(auxValue)); } else if (refType == RefType.UNPEELED.getValue()) { return new ObjectIdRef.Unpeeled(Ref.Storage.NETWORK, name, ObjectId.fromString(value)); } else if (refType == RefType.SYMBOLIC.getValue()) { return new SymbolicRef(name, get(value)); } else { throw new IllegalStateException("Unhandled ref type: " + refType); } }
From source file:com.google.gerrit.httpd.rpc.project.ListBranchesTest.java
License:Apache License
@Test public void testSortByName() throws Exception { Map<String, Ref> u = new LinkedHashMap<String, Ref>(); u.put("foo", new ObjectIdRef.Unpeeled(LOOSE, R_HEADS + "foo", idA)); u.put("bar", new ObjectIdRef.Unpeeled(LOOSE, R_HEADS + "bar", idA)); u.put(HEAD, new SymbolicRef(HEAD, new ObjectIdRef.Unpeeled(LOOSE, R_HEADS + "master", null))); validate().andReturn(pc);//w w w .j a va2 s. co m expect(grm.openRepository(eq(name))).andReturn(mockDb); expect(mockDb.getAllRefs()).andReturn(u); for (Ref ref : u.values()) { assumeVisible(ref, true, targets(u)); } expect(pc.canAddRefs()).andReturn(true); mockDb.close(); expectLastCall(); doReplay(); final ListBranchesResult r = new ListBranches(pcf, grm, name).call(); doVerify(); assertNotNull(r); assertEquals(3, r.getBranches().size()); assertEquals(HEAD, r.getBranches().get(0).getShortName()); assertEquals("bar", r.getBranches().get(1).getShortName()); assertEquals("foo", r.getBranches().get(2).getShortName()); }
From source file:com.google.gerrit.httpd.rpc.project.ListBranchesTest.java
License:Apache License
@Test public void testHeadNotVisible() throws Exception { ObjectIdRef.Unpeeled bar = new ObjectIdRef.Unpeeled(LOOSE, R_HEADS + "bar", idA); Map<String, Ref> u = new LinkedHashMap<String, Ref>(); u.put(bar.getName(), bar);/*w ww .j av a2s . c o m*/ u.put(HEAD, new SymbolicRef(HEAD, bar)); validate().andReturn(pc); expect(grm.openRepository(eq(name))).andReturn(mockDb); expect(mockDb.getAllRefs()).andReturn(u); assumeVisible(bar, false, targets(u)); assumeVisible(bar, false, targets(u)); expect(pc.canAddRefs()).andReturn(true); mockDb.close(); expectLastCall(); doReplay(); final ListBranchesResult r = new ListBranches(pcf, grm, name).call(); doVerify(); assertNotNull(r); assertTrue(r.getBranches().isEmpty()); }
From source file:com.google.gerrit.httpd.rpc.project.ListBranchesTest.java
License:Apache License
@Test public void testHeadVisibleButBranchHidden() throws Exception { ObjectIdRef.Unpeeled bar = new ObjectIdRef.Unpeeled(LOOSE, R_HEADS + "bar", idA); ObjectIdRef.Unpeeled foo = new ObjectIdRef.Unpeeled(LOOSE, R_HEADS + "foo", idA); Map<String, Ref> u = new LinkedHashMap<String, Ref>(); u.put(bar.getName(), bar);// w w w . j a v a 2 s .c o m u.put(HEAD, new SymbolicRef(HEAD, bar)); u.put(foo.getName(), foo); validate().andReturn(pc); expect(grm.openRepository(eq(name))).andReturn(mockDb); expect(mockDb.getAllRefs()).andReturn(u); assumeVisible(bar, true, targets(u)); assumeVisible(bar, true, targets(u)); assumeVisible(foo, false, targets(u)); expect(pc.canAddRefs()).andReturn(true); mockDb.close(); expectLastCall(); doReplay(); final ListBranchesResult r = new ListBranches(pcf, grm, name).call(); doVerify(); assertNotNull(r); assertEquals(2, r.getBranches().size()); assertEquals(HEAD, r.getBranches().get(0).getShortName()); assertFalse(r.getBranches().get(0).getCanDelete()); assertEquals("bar", r.getBranches().get(1).getShortName()); assertFalse(r.getBranches().get(1).getCanDelete()); }
From source file:it.com.atlassian.labs.speakeasy.util.jgit.FixedTransportHttp.java
License:Eclipse Distribution License
private FetchConnection newDumbConnection(InputStream in) throws IOException, PackProtocolException { HttpObjectDB d = new HttpObjectDB(objectsUrl); BufferedReader br = toBufferedReader(in); Map<String, Ref> refs; try {//from ww w.j av a2s. c o m refs = d.readAdvertisedImpl(br); } finally { br.close(); } if (!refs.containsKey(Constants.HEAD)) { // If HEAD was not published in the info/refs file (it usually // is not there) download HEAD by itself as a loose file and do // the resolution by hand. // HttpURLConnection conn = httpOpen(new URL(baseUrl, Constants.HEAD)); int status = HttpSupport.response(conn); switch (status) { case HttpURLConnection.HTTP_OK: { br = toBufferedReader(openInputStream(conn)); try { String line = br.readLine(); if (line != null && line.startsWith(RefDirectory.SYMREF)) { String target = line.substring(RefDirectory.SYMREF.length()); Ref r = refs.get(target); if (r == null) r = new ObjectIdRef.Unpeeled(Ref.Storage.NEW, target, null); r = new SymbolicRef(Constants.HEAD, r); refs.put(r.getName(), r); } else if (line != null && ObjectId.isId(line)) { Ref r = new ObjectIdRef.Unpeeled(Ref.Storage.NETWORK, Constants.HEAD, ObjectId.fromString(line)); refs.put(r.getName(), r); } } finally { br.close(); } break; } case HttpURLConnection.HTTP_NOT_FOUND: break; default: throw new TransportException(uri, MessageFormat.format(JGitText.get().cannotReadHEAD, status, conn.getResponseMessage())); } } WalkFetchConnection wfc = new WalkFetchConnection(this, d); wfc.available(refs); return wfc; }
From source file:org.chodavarapu.jgitaws.repositories.RefRepository.java
License:Eclipse Distribution License
public Observable<Ref> getAllRefsSorted(String repositoryName) { return configuration.getDynamoClient() .getAllItems(configuration.getRefsTableName(), new QuerySpec() .withHashKey(REPOSITORY_NAME_ATTRIBUTE, repositoryName).withScanIndexForward(true)) .map(item -> {/*from ww w.j a v a2 s . co m*/ String name = item.getString(NAME_ATTRIBUTE); String target = item.getString(TARGET_ATTRIBUTE); boolean isSymbolic = item.getBoolean(IS_SYMBOLIC_ATTRIBUTE); boolean isPeeled = item.getBoolean(IS_PEELED_ATTRIBUTE); String peeledTarget = item.getString(PEELED_TARGET_ATTRIBUTE); if (isSymbolic) { return new SymbolicRef(name, new ObjectIdRef.Unpeeled(Ref.Storage.PACKED, target, null)); } else { if (isPeeled) { if (peeledTarget == null) { return new ObjectIdRef.PeeledNonTag(Ref.Storage.PACKED, name, ObjectId.fromString(target)); } else { return new ObjectIdRef.PeeledTag(Ref.Storage.PACKED, name, ObjectId.fromString(target), ObjectId.fromString(peeledTarget)); } } else { return new ObjectIdRef.Unpeeled(Ref.Storage.PACKED, name, ObjectId.fromString(target)); } } }); }
From source file:org.uberfire.java.nio.fs.jgit.util.commands.RefTreeUpdateCommand.java
License:Apache License
private void symRef(final Git git, final String name, final String dst) throws java.io.IOException { commit(git.getRepository(), null, (reader, tree) -> { Ref old = tree.exactRef(reader, name); Ref newx = tree.exactRef(reader, dst); final Command n; if (newx != null) { n = new Command(old, new SymbolicRef(name, newx)); } else {/*from w w w. j a va 2 s . co m*/ n = new Command(old, new SymbolicRef(name, new ObjectIdRef.Unpeeled(Ref.Storage.NEW, dst, null))); } return tree.apply(Collections.singleton(n)); }); }