List of usage examples for org.eclipse.jgit.dircache DirCacheBuilder addTree
public void addTree(byte[] pathPrefix, int stage, ObjectReader reader, AnyObjectId tree) throws IOException
From source file:com.google.gerrit.server.edit.ChangeEditModifier.java
License:Apache License
private static DirCache readTree(ObjectReader reader, RevCommit prevEdit) throws IOException { DirCache dc = DirCache.newInCore();// ww w. j a v a2 s .com DirCacheBuilder b = dc.builder(); b.addTree(new byte[0], DirCacheEntry.STAGE_0, reader, prevEdit.getTree()); b.finish(); return dc; }
From source file:com.google.gerrit.server.edit.tree.TreeCreator.java
License:Apache License
private DirCache readBaseTree(Repository repository) throws IOException { try (ObjectReader objectReader = repository.newObjectReader()) { DirCache dirCache = DirCache.newInCore(); DirCacheBuilder dirCacheBuilder = dirCache.builder(); dirCacheBuilder.addTree(new byte[0], DirCacheEntry.STAGE_0, objectReader, baseCommit.getTree()); dirCacheBuilder.finish();/*w w w . java 2 s . c om*/ return dirCache; } }
From source file:com.google.gerrit.server.git.SubmoduleOp.java
License:Apache License
private static DirCache readTree(final Repository pdb, final Ref branch) throws MissingObjectException, IncorrectObjectTypeException, IOException { try (RevWalk rw = new RevWalk(pdb)) { final DirCache dc = DirCache.newInCore(); final DirCacheBuilder b = dc.builder(); b.addTree(new byte[0], // no prefix path DirCacheEntry.STAGE_0, // standard stage pdb.newObjectReader(), rw.parseTree(branch.getObjectId())); b.finish();// w w w.jav a 2s. c o m return dc; } }
From source file:com.google.gerrit.server.git.VersionedMetaData.java
License:Apache License
protected DirCache readTree(RevTree tree) throws IOException, MissingObjectException, IncorrectObjectTypeException { DirCache dc = DirCache.newInCore();/* w ww .ja va 2s .c o m*/ if (tree != null) { DirCacheBuilder b = dc.builder(); b.addTree(new byte[0], DirCacheEntry.STAGE_0, reader, tree); b.finish(); } return dc; }
From source file:jetbrains.buildServer.buildTriggers.vcs.git.GitMergeSupport.java
License:Apache License
@NotNull private ObjectId mergeCommits(@NotNull GitVcsRoot gitRoot, @NotNull Repository db, @NotNull RevCommit srcCommit, @NotNull RevCommit dstCommit, @NotNull String message, @NotNull MergeOptions options) throws IOException, MergeFailedException { if (!alwaysCreateMergeCommit(options)) { RevWalk walk = new RevWalk(db); try {//from w w w . jav a 2 s.c om if (walk.isMergedInto(walk.parseCommit(dstCommit), walk.parseCommit(srcCommit))) { LOG.debug("Commit " + srcCommit.name() + " already merged into " + dstCommit + ", skip the merge"); return srcCommit; } } finally { walk.release(); } } if (tryRebase(options)) { LOG.debug("Run rebase, root " + gitRoot + ", revision " + srcCommit.name() + ", destination " + dstCommit.name()); try { return rebase(gitRoot, db, srcCommit, dstCommit); } catch (MergeFailedException e) { if (enforceLinearHistory(options)) { LOG.debug("Rebase failed, root " + gitRoot + ", revision " + srcCommit.name() + ", destination " + dstCommit.name(), e); throw e; } } catch (IOException e) { if (enforceLinearHistory(options)) { LOG.debug("Rebase failed, root " + gitRoot + ", revision " + srcCommit.name() + ", destination " + dstCommit.name(), e); throw e; } } } ResolveMerger merger = (ResolveMerger) MergeStrategy.RECURSIVE.newMerger(db, true); boolean mergeSuccessful = merger.merge(dstCommit, srcCommit); if (!mergeSuccessful) { List<String> conflicts = merger.getUnmergedPaths(); Collections.sort(conflicts); LOG.debug("Merge failed with conflicts, root " + gitRoot + ", revision " + srcCommit.name() + ", destination " + dstCommit.name() + ", conflicts " + conflicts); throw new MergeFailedException(conflicts); } ObjectInserter inserter = db.newObjectInserter(); DirCache dc = DirCache.newInCore(); DirCacheBuilder dcb = dc.builder(); dcb.addTree(new byte[] {}, 0, db.getObjectDatabase().newReader(), merger.getResultTreeId()); inserter.flush(); dcb.finish(); ObjectId writtenTreeId = dc.writeTree(inserter); CommitBuilder commitBuilder = new CommitBuilder(); commitBuilder.setCommitter(gitRoot.getTagger(db)); commitBuilder.setAuthor(gitRoot.getTagger(db)); commitBuilder.setMessage(message); commitBuilder.addParentId(dstCommit); commitBuilder.addParentId(srcCommit); commitBuilder.setTreeId(writtenTreeId); ObjectId commitId = inserter.insert(commitBuilder); inserter.flush(); return commitId; }
From source file:org.eclipse.egit.core.op.ResetOperation.java
License:Open Source License
private void resetIndex() throws TeamException { DirCache dc = null;/*from www . j a va 2 s . c o m*/ try { dc = repository.lockDirCache(); dc.clear(); DirCacheBuilder dcb = dc.builder(); dcb.addTree(new byte[0], 0, repository.newObjectReader(), commit.getTree()); dcb.commit(); } catch (IOException e) { throw new TeamException(CoreText.ResetOperation_readingIndex, e); } finally { if (dc != null) dc.unlock(); } }
From source file:org.jfrog.bamboo.release.scm.git.ResetCommand.java
License:Eclipse Distribution License
private void resetIndex(RevCommit commit) throws IOException { DirCache dc = null;/*w ww . j a v a 2 s . co m*/ try { dc = repo.lockDirCache(); dc.clear(); DirCacheBuilder dcb = dc.builder(); dcb.addTree(new byte[0], 0, repo.newObjectReader(), commit.getTree()); dcb.commit(); } finally { if (dc != null) { dc.unlock(); } } }