private String getBranchChangesetPath(GeoGIG geogig) { final String branch = getHead(geogig).getTarget(); String path = "osm/" + branch; return path; }
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; }
@Override public String toString() { return String.format("%s -> [%s -> %s]", getName(), target, getObjectId()); }
"Can't revert from detached HEAD"); final SymRef headRef = (SymRef) currHead.get(); Preconditions.checkState(!headRef.getObjectId().equals(ObjectId.NULL), "HEAD has no history."); currentBranch = headRef.getTarget(); revertHead = currHead.get().getObjectId();
@Test public void testSymRef() { Ref testRef = new Ref(Ref.REFS_PREFIX + "commit1", ObjectId.valueOf("abc123000000000000001234567890abcdef0000")); SymRef symRef = new SymRef("TestRef", testRef); assertEquals(testRef.getName(), symRef.getTarget()); String symRefString = symRef.toString(); assertEquals("TestRef -> " + "[" + testRef.getName() + " -> " + testRef.getObjectId().toString() + "]", symRefString); } }
private Ref toLocal(Ref remoteRef) { Optional<String> localName = remote.mapToRemote(remoteRef.getName()); Preconditions.checkArgument(localName.isPresent(), "Can't map %s to local ref using %s", remoteRef.getName(), remote.getFetchSpec()); Ref localRef; if (remoteRef instanceof SymRef) { Ref target = toLocal(remoteRef.peel()); localRef = new SymRef(localName.get(), target); } else { localRef = new Ref(localName.get(), remoteRef.getObjectId()); } return localRef; }
/** * @return the non-symbolic {@link Ref} this symbolic reference points to. */ public @Override Ref peel() { return new Ref(target, getObjectId()); }
currentBranch = headRef.getTarget(); if (ObjectId.NULL.equals(headRef.getObjectId())) { final RevCommit headCommit = repository.getCommit(headRef.getObjectId()); final RevCommit targetCommit = repository.getCommit(upstream.get());
private Ref toRemote(Ref localRef) { Optional<String> remoteName = remote.mapToLocal(localRef.getName()); Preconditions.checkArgument(remoteName.isPresent(), "Can't map %s to remote ref using %s", localRef.getName(), remote.getFetchSpec()); Ref remoteRef; if (localRef instanceof SymRef) { Ref target = toRemote(localRef.peel()); remoteRef = new SymRef(remoteName.get(), target); } else { remoteRef = new Ref(remoteName.get(), localRef.getObjectId()); } return remoteRef; }
/** * @return the non-symbolic {@link Ref} this symbolic reference points to. */ public @Override Ref peel() { return new Ref(target, getObjectId()); }
private Ref resolveHeadTarget() { final Optional<Ref> currHead = refParse(Ref.HEAD); checkState(currHead.isPresent(), "Repository has no HEAD, can't push."); checkState(currHead.get() instanceof SymRef, "Can't push from detached HEAD"); final Optional<Ref> headTarget = refParse(((SymRef) currHead.get()).getTarget()); checkState(headTarget.isPresent()); return headTarget.get(); }
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; }
currentBranch = headRef.getTarget(); if (ObjectId.NULL.equals(headRef.getObjectId())) { final RevCommit headCommit = repository.getCommit(headRef.getObjectId()); final RevCommit targetCommit = repository.getCommit(upstream.get());
+ "' was not present for symref " + name + " -> '" + storedValue + "'"); Ref resolved = new SymRef(name, target.get()); return Optional.of(resolved);
final Optional<Ref> currHead = command(RefParse.class).setName(Ref.HEAD).call(); SymRef headRef = (SymRef) currHead.get(); RevCommit headCommit = repository().getCommit(headRef.getObjectId()); command(UpdateRef.class).setName(Ref.MERGE_HEAD).setNewValue(commits.get(0)).call();
@Override public String toString() { return String.format("SymRef[%s -> Ref[%s -> %s]]", getName(), target, getObjectId()); }
private Ref resolveHeadTarget() { final Optional<Ref> currHead = refParse(Ref.HEAD); checkState(currHead.isPresent(), "Repository has no HEAD, can't push."); checkState(currHead.get() instanceof SymRef, "Can't push from detached HEAD"); final Optional<Ref> headTarget = refParse(((SymRef) currHead.get()).getTarget()); checkState(headTarget.isPresent()); return headTarget.get(); }
+ "' was not present for symref " + name + " -> '" + storedValue + "'"); Ref resolved = new SymRef(name, target.get()); return Optional.of(resolved);
final Optional<Ref> currHead = command(RefParse.class).setName(Ref.HEAD).call(); SymRef headRef = (SymRef) currHead.get(); RevCommit headCommit = repository().getCommit(headRef.getObjectId()); command(UpdateRef.class).setName(Ref.MERGE_HEAD).setNewValue(commits.get(0)).call();
private Ref resolveHeadTarget() { final Optional<Ref> currHead = refParse(Ref.HEAD); checkState(currHead.isPresent(), "Repository has no HEAD, can't push."); checkState(currHead.get() instanceof SymRef, "Can't push from detached HEAD"); final Optional<Ref> headTarget = refParse(((SymRef) currHead.get()).getTarget()); checkState(headTarget.isPresent()); return headTarget.get(); }