/** * @return the namespace for this ref, ends with a / */ public String namespace() { return namespace(name); }
/** * @return the namespace for this ref, ends with a / */ public String namespace() { return namespace(name); }
private Ref toLocal(Ref localRemoteRef) { final Remote remote = this.remote; if (localRemoteRef.namespace().equals(Ref.TAGS_PREFIX)) { return localRemoteRef; } final String localName = localRemoteRef.localName(); final String remoteNamespace = localRemoteRef.namespace(); final String expectedRemotePrefix = Ref.REMOTES_PREFIX + remote.getName() + "/"; Preconditions.checkArgument(remoteNamespace.equals(expectedRemotePrefix)); final String localPrefix = Ref.HEAD.equals(localName) ? "" : Ref.HEADS_PREFIX; final String localRefName = localPrefix + localName; Ref ref = null; if (localRemoteRef instanceof SymRef) { SymRef sr = (SymRef) localRemoteRef; Ref localTarget = toLocal(new Ref(sr.getTarget(), sr.getObjectId())); ref = new SymRef(localRefName, localTarget); } else { ref = new Ref(localRefName, localRemoteRef.getObjectId()); } return ref; }
private Ref toRemote(Ref localRef) { if (localRef.namespace().equals(Ref.TAGS_PREFIX)) { return localRef; } checkArgument(!localRef.getName().startsWith(Ref.REMOTES_PREFIX), "ref is already in a remotes namespace: %s", localRef); final String remoteNamespace = Ref.REMOTES_PREFIX + remote.getName() + "/"; final String remoteRefName = remoteNamespace + localRef.localName(); Ref remoteRef; if (localRef instanceof SymRef) { SymRef sr = (SymRef) localRef; String localtarget = sr.getTarget(); Ref remoteTarget = toRemote(new Ref(localtarget, sr.getObjectId())); remoteRef = new SymRef(remoteRefName, remoteTarget); } else { remoteRef = new Ref(remoteRefName, localRef.getObjectId()); } return remoteRef; }
.setName(branch.get().namespace() + newBranchName) .setNewValue(branch.get().getObjectId()).call();
.setName(oldBranch.get().namespace() + newBranchName) .setNewValue(oldBranch.get().getObjectId()).call();
@Test public void testLocalNameAndNamespace() { String ref = Ref.localName(Ref.HEADS_PREFIX + "branch1"); assertEquals("branch1", ref); ref = Ref.localName(Ref.REFS_PREFIX + "commit1"); assertEquals("commit1", ref); ref = Ref.localName(Ref.REMOTES_PREFIX + "origin/branch1"); assertEquals("branch1", ref); ref = Ref.localName(Ref.TAGS_PREFIX + "tag1"); assertEquals("tag1", ref); ref = Ref.localName("ref1"); assertEquals("ref1", ref); ref = Ref.namespace(Ref.HEADS_PREFIX + "branch1"); assertEquals(Ref.HEADS_PREFIX, ref); ref = Ref.namespace(Ref.REFS_PREFIX + "commit1"); assertEquals(Ref.REFS_PREFIX, ref); ref = Ref.namespace(Ref.REMOTES_PREFIX + "origin/branch1"); assertEquals(Ref.REMOTES_PREFIX + "origin/", ref); ref = Ref.namespace(Ref.TAGS_PREFIX + "tag1"); assertEquals(Ref.TAGS_PREFIX, ref); ref = Ref.namespace("ref1"); assertEquals("ref1", ref); }
if (!(branch instanceof SymRef)) { out.writeStartArrayElement("Branch"); String namespace = branch.namespace(); String remoteName = namespace.replace(Ref.REMOTES_PREFIX, "").replace("/", ""); writeElement("remoteName", remoteName);
@Test public void testConstructor() throws Exception { Ref testRef = new Ref(Ref.REFS_PREFIX + "commit1", oid); assertEquals(Ref.REFS_PREFIX + "commit1", testRef.getName()); assertEquals(Ref.REFS_PREFIX, testRef.namespace()); assertEquals("commit1", testRef.localName()); assertEquals(oid, testRef.getObjectId()); }