List of usage examples for org.eclipse.jgit.revwalk ObjectWalk ObjectWalk
public ObjectWalk(ObjectReader or)
From source file:com.google.gerrit.httpd.rpc.project.AddBranch.java
License:Apache License
private RevWalk verifyConnected(final Repository repo, final ObjectId revid) throws InvalidRevisionException { try {/* w w w .j a v a 2 s . com*/ final ObjectWalk rw = new ObjectWalk(repo); try { rw.markStart(rw.parseCommit(revid)); } catch (IncorrectObjectTypeException err) { throw new InvalidRevisionException(); } for (final Ref r : repo.getAllRefs().values()) { try { rw.markUninteresting(rw.parseAny(r.getObjectId())); } catch (MissingObjectException err) { continue; } } rw.checkConnectivity(); return rw; } catch (IncorrectObjectTypeException err) { throw new InvalidRevisionException(); } catch (MissingObjectException err) { throw new InvalidRevisionException(); } catch (IOException err) { log.error("Repository \"" + repo.getDirectory() + "\" may be corrupt; suggest running git fsck", err); throw new InvalidRevisionException(); } }
From source file:com.google.gerrit.server.project.CreateBranch.java
License:Apache License
private RevWalk verifyConnected(final Repository repo, final ObjectId revid) throws InvalidRevisionException { try {//from w w w . ja va 2 s.c om final ObjectWalk rw = new ObjectWalk(repo); try { rw.markStart(rw.parseCommit(revid)); } catch (IncorrectObjectTypeException err) { throw new InvalidRevisionException(); } RefDatabase refDb = repo.getRefDatabase(); Iterable<Ref> refs = Iterables.concat(refDb.getRefs(Constants.R_HEADS).values(), refDb.getRefs(Constants.R_TAGS).values()); Ref rc = refDb.exactRef(RefNames.REFS_CONFIG); if (rc != null) { refs = Iterables.concat(refs, Collections.singleton(rc)); } for (Ref r : refs) { try { rw.markUninteresting(rw.parseAny(r.getObjectId())); } catch (MissingObjectException err) { continue; } } rw.checkConnectivity(); return rw; } catch (IncorrectObjectTypeException | MissingObjectException err) { throw new InvalidRevisionException(); } catch (IOException err) { log.error("Repository \"" + repo.getDirectory() + "\" may be corrupt; suggest running git fsck", err); throw new InvalidRevisionException(); } }
From source file:com.google.gerrit.server.project.RefUtil.java
License:Apache License
public static RevWalk verifyConnected(Repository repo, ObjectId revid) throws InvalidRevisionException { try {/*from ww w. ja v a 2 s . com*/ ObjectWalk rw = new ObjectWalk(repo); try { rw.markStart(rw.parseCommit(revid)); } catch (IncorrectObjectTypeException err) { throw new InvalidRevisionException(); } RefDatabase refDb = repo.getRefDatabase(); Iterable<Ref> refs = Iterables.concat(refDb.getRefs(Constants.R_HEADS).values(), refDb.getRefs(Constants.R_TAGS).values()); Ref rc = refDb.exactRef(RefNames.REFS_CONFIG); if (rc != null) { refs = Iterables.concat(refs, Collections.singleton(rc)); } for (Ref r : refs) { try { rw.markUninteresting(rw.parseAny(r.getObjectId())); } catch (MissingObjectException err) { continue; } } rw.checkConnectivity(); return rw; } catch (IncorrectObjectTypeException | MissingObjectException err) { throw new InvalidRevisionException(); } catch (IOException err) { log.error("Repository \"" + repo.getDirectory() + "\" may be corrupt; suggest running git fsck", err); throw new InvalidRevisionException(); } }
From source file:kr.re.ec.grigit.graph.ui.RevWalker.java
License:Eclipse Distribution License
protected RevWalk createWalk() { RevWalk result;/* w w w . j ava 2s . c om*/ if (objects) result = new ObjectWalk(db); else if (argWalk != null) result = argWalk; else result = argWalk = new RevWalk(db); result.setRewriteParents(false); return result; }
From source file:org.eclipse.egit.core.synchronize.dto.GitSynchronizeData.java
License:Open Source License
/** * Constructs {@link GitSynchronizeData} object * * @param repository/* w w w . java2s . c om*/ * @param srcRev * @param dstRev * @param includeLocal * <code>true</code> if local changes should be included in * comparison * @throws IOException */ public GitSynchronizeData(Repository repository, String srcRev, String dstRev, boolean includeLocal) throws IOException { isNotNull(repository); isNotNull(srcRev); isNotNull(dstRev); repo = repository; ObjectWalk ow = new ObjectWalk(repo); this.srcRev = ow.parseCommit(repo.resolve(srcRev)); this.dstRev = ow.parseCommit(repo.resolve(dstRev)); this.includeLocal = includeLocal; repoParentPath = repo.getDirectory().getParentFile().getAbsolutePath(); projects = new HashSet<IProject>(); final IProject[] workspaceProjects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); for (IProject project : workspaceProjects) { RepositoryMapping mapping = RepositoryMapping.getMapping(project); if (mapping != null && mapping.getRepository() == repo) projects.add(project); } }