public void writePullResponse(PullResult result, Iterator<DiffEntry> iter) throws StreamWriterException { out.writeStartElement("Pull"); writeFetchResponse(result.getFetchResult()); if (iter != null) { writeElement("Remote", result.getRemoteName()); writeElement("Ref", result.getNewRef().localName()); int added = 0; int removed = 0; writeElement("Removed", Integer.toString(removed)); if (result.getMergeReport().isPresent() && result.getMergeReport().get().getReport().isPresent()) { MergeReport report = result.getMergeReport().get(); writeMergeResponse(Optional.fromNullable(report.getMergeCommit()), report.getReport().get(), report.getOurs(),
TransferSummary fetchResult = result.getFetchResult(); FetchResultPrinter.print(fetchResult, console); final Ref oldRef = result.getOldRef(); final Ref newRef = result.getNewRef(); String newTreeish = newRef.getObjectId().toString(); if (oldRef == null) { console.println("From " + result.getRemoteName()); console.println(" * [new branch] " + newRef.localName() + " -> " + newRef.getName());
PullResult result = new PullResult(); .setFullDepth(fullDepth).setAll(all).setProgressListener(subProgress(80.f)).call(); result.setFetchResult(fetchResult); if (destRef.getObjectId().equals(sourceOid) || sourceOid.isNull()) { result.setOldRef(destRef); result.setNewRef(destRef); continue; result.setOldRef(destRef); .setAuthor(authorName.orNull(), authorEmail.orNull()) .addCommit(sourceOid).call(); result.setMergeReport(Optional.of(report)); } catch (NothingToCommitException e) { result.setNewRef(command(RefParse.class).setName(destinationref).call().get()); } else { result.setNewRef(newRef); result.setRemoteName(remote.get().get().getFetchURL());
getProgressListener().setDescription("Pull: pulling " + remote); PullResult pullOpResult = new PullResult(); TransferSummary fetchResult = command(FetchOp.class)// pullOpResult.setFetchResult(fetchResult); pullOpResult.setOldRef(currentBranch); pullOpResult.setRemote(suppliedRemote); pullOpResult.setMergeReport(Optional.of(report)); } catch (NothingToCommitException e) { pullOpResult.setNewRef(currentBranchFinalState);
@Override CharSequence buildPost(PullOp command, Object commandResult) { PullResult pr = (PullResult) commandResult; TransferSummary fr = pr.getFetchResult(); StringBuilder sb = formatFetchResult(fr); return format( "%s success. Parameters: %s. Changes: %s", friendlyName(), params(command), sb); }
} else { progress.setDescription("Merge successful"); MergeReport mergeReport = pullResult.getMergeReport().get(); mergeScenarioReport = mergeReport.getReport().orNull(); RevCommit commit = mergeReport.getMergeCommit();
TransferSummary fetchResult = result.getFetchResult(); FetchResultPrinter.print(fetchResult, console); final Ref oldRef = result.getOldRef(); final Ref newRef = result.getNewRef(); String newTreeish = newRef.getObjectId().toString(); if (oldRef == null) { console.println("From " + result.getRemoteName()); console.println(" * [new branch] " + newRef.localName() + " -> " + newRef.getName());
TransferSummary fetchResult = result.getFetchResult(); FetchResultPrinter.print(fetchResult, console); final Ref oldRef = result.getOldRef(); final Ref newRef = result.getNewRef(); String newTreeish = newRef.getObjectId().toString(); if (oldRef == null) { console.println("From " + result.getRemoteName()); console.println(" * [new branch] " + newRef.localName() + " -> " + newRef.getName());
private AutoCloseableIterator<DiffEntry> resolveDiff(Context geogig, PullResult result) { AutoCloseableIterator<DiffEntry> iter; if (result.getOldRef() != null && result.getOldRef().equals(result.getNewRef())) { iter = null; } else { if (result.getOldRef() == null) { iter = geogig.command(DiffOp.class).setNewVersion(result.getNewRef().getObjectId()) .setOldVersion(ObjectId.NULL).call(); } else { iter = geogig.command(DiffOp.class).setNewVersion(result.getNewRef().getObjectId()) .setOldVersion(result.getOldRef().getObjectId()).call(); } } return iter; } }
@Test public void testPullRefspecForce() throws Exception { // Add a commit to the remote insertAndAdd(remoteGeogig.geogig, lines3); RevCommit commit = remoteGeogig.geogig.command(CommitOp.class).call(); expectedMaster.addFirst(commit); // Pull the commit PullOp pull = pullOp(); // fetch remote's master onto new ref refs/remotes/origin/newbranch, then pull from there pull.addRefSpec("+master:newbranch"); PullResult result = pull.setRebase(true).call(); Optional<Ref> fetchedToRef = getRef(localGeogig.repo, "refs/remotes/origin/newbranch"); assertTrue(fetchedToRef.isPresent()); List<RevCommit> logged = log(localGeogig.repo); assertEquals(expectedMaster, logged); Ref oldRef = result.getOldRef(); Ref newRef = result.getNewRef(); assertEquals("refs/heads/master", oldRef.getName()); assertEquals("refs/heads/master", newRef.getName()); assertEquals(fetchedToRef.get().getObjectId(), newRef.getObjectId()); }