/** * Scan index and merge tree (no HEAD). Used e.g. for initial checkout when * there is no head yet. * * @throws org.eclipse.jgit.errors.MissingObjectException * @throws org.eclipse.jgit.errors.IncorrectObjectTypeException * @throws org.eclipse.jgit.errors.CorruptObjectException * @throws java.io.IOException */ public void prescanOneTree() throws MissingObjectException, IncorrectObjectTypeException, CorruptObjectException, IOException { removed.clear(); updated.clear(); conflicts.clear(); builder = dc.builder(); walk = new NameConflictTreeWalk(repo); addTree(walk, mergeCommitTree); int dciPos = walk.addTree(new DirCacheBuildIterator(builder)); walk.addTree(workingTree); workingTree.setDirCacheIterator(walk, dciPos); while (walk.next()) { processEntry(walk.getTree(0, CanonicalTreeParser.class), walk.getTree(1, DirCacheBuildIterator.class), walk.getTree(2, WorkingTreeIterator.class)); if (walk.isSubtree()) walk.enterSubtree(); } conflicts.removeAll(removed); }
} else if (i.getDirCacheEntry() != null) { if (f.isModified(i.getDirCacheEntry(), true, this.walk.getObjectReader()) || i.getDirCacheEntry().getStage() != 0) DirCacheEntry entry = i.getDirCacheEntry(); if (entry.getLastModified() == 0) entry.setLastModified(f.getEntryLastModified()); keep(i.getDirCacheEntry()); } else { remove(i.getEntryPathString()); conflicts.remove(i.getEntryPathString()); } else {
/** {@inheritDoc} */ @Override public AbstractTreeIterator createSubtreeIterator(ObjectReader reader) throws IncorrectObjectTypeException, IOException { if (currentSubtree == null) throw new IncorrectObjectTypeException(getEntryObjectId(), Constants.TYPE_TREE); return new DirCacheBuildIterator(this, currentSubtree); }
DirCacheEntry dce = i != null ? i.getDirCacheEntry() : null; ObjectId iId = (i == null ? null : i.getEntryObjectId()); ObjectId mId = (m == null ? null : m.getEntryObjectId()); ObjectId hId = (h == null ? null : h.getEntryObjectId()); FileMode iMode = (i == null ? null : i.getEntryFileMode()); FileMode mMode = (m == null ? null : m.getEntryFileMode()); FileMode hMode = (h == null ? null : h.getEntryFileMode());
/** {@inheritDoc} */ @Override public void skip() throws CorruptObjectException { if (currentSubtree != null) builder.keep(ptr, currentSubtree.getEntrySpan()); else builder.keep(ptr, 1); next(1); }
if (index == null || index.getDirCacheEntry() == null) { ourDce = index.getDirCacheEntry();
DirCacheEntry dce = i != null ? i.getDirCacheEntry() : null; ObjectId iId = (i == null ? null : i.getEntryObjectId()); ObjectId mId = (m == null ? null : m.getEntryObjectId()); ObjectId hId = (h == null ? null : h.getEntryObjectId()); FileMode iMode = (i == null ? null : i.getEntryFileMode()); FileMode mMode = (m == null ? null : m.getEntryFileMode()); FileMode hMode = (h == null ? null : h.getEntryFileMode());
@Override public void skip() throws CorruptObjectException { if (currentSubtree != null) builder.keep(ptr, currentSubtree.getEntrySpan()); else builder.keep(ptr, 1); next(1); }
if (index == null || index.getDirCacheEntry() == null) { ourDce = index.getDirCacheEntry();
DirCacheEntry dce = i != null ? i.getDirCacheEntry() : null; ObjectId iId = (i == null ? null : i.getEntryObjectId()); ObjectId mId = (m == null ? null : m.getEntryObjectId()); ObjectId hId = (h == null ? null : h.getEntryObjectId()); FileMode iMode = (i == null ? null : i.getEntryFileMode()); FileMode mMode = (m == null ? null : m.getEntryFileMode()); FileMode hMode = (h == null ? null : h.getEntryFileMode());
/** * Scan head, index and merge tree. Used during normal checkout or merge * operations. * * @throws org.eclipse.jgit.errors.CorruptObjectException * @throws java.io.IOException */ public void preScanTwoTrees() throws CorruptObjectException, IOException { removed.clear(); updated.clear(); conflicts.clear(); walk = new NameConflictTreeWalk(repo); builder = dc.builder(); addTree(walk, headCommitTree); addTree(walk, mergeCommitTree); int dciPos = walk.addTree(new DirCacheBuildIterator(builder)); walk.addTree(workingTree); workingTree.setDirCacheIterator(walk, dciPos); while (walk.next()) { processEntry(walk.getTree(0, CanonicalTreeParser.class), walk.getTree(1, CanonicalTreeParser.class), walk.getTree(2, DirCacheBuildIterator.class), walk.getTree(3, WorkingTreeIterator.class)); if (walk.isSubtree()) walk.enterSubtree(); } }
@Override public AbstractTreeIterator createSubtreeIterator(final ObjectReader reader) throws IncorrectObjectTypeException, IOException { if (currentSubtree == null) throw new IncorrectObjectTypeException(getEntryObjectId(), Constants.TYPE_TREE); return new DirCacheBuildIterator(this, currentSubtree); }
} else if (i.getDirCacheEntry() != null) { if (f.isModified(i.getDirCacheEntry(), true, this.walk.getObjectReader()) || i.getDirCacheEntry().getStage() != 0) DirCacheEntry entry = i.getDirCacheEntry(); if (entry.getLastModified() == 0) entry.setLastModified(f.getEntryLastModified()); keep(i.getDirCacheEntry()); } else { remove(i.getEntryPathString()); conflicts.remove(i.getEntryPathString()); } else {
/** {@inheritDoc} */ @Override public void skip() throws CorruptObjectException { if (currentSubtree != null) builder.keep(ptr, currentSubtree.getEntrySpan()); else builder.keep(ptr, 1); next(1); }
if (index == null || index.getDirCacheEntry() == null) { ourDce = index.getDirCacheEntry();
tw.addTree(new DirCacheBuildIterator(builder));
/** {@inheritDoc} */ @Override public AbstractTreeIterator createSubtreeIterator(ObjectReader reader) throws IncorrectObjectTypeException, IOException { if (currentSubtree == null) throw new IncorrectObjectTypeException(getEntryObjectId(), Constants.TYPE_TREE); return new DirCacheBuildIterator(this, currentSubtree); }
} else if (i.getDirCacheEntry() != null) { if (f.isModified(i.getDirCacheEntry(), true, this.walk.getObjectReader()) || i.getDirCacheEntry().getStage() != 0) DirCacheEntry entry = i.getDirCacheEntry(); if (entry.getLastModified() == 0) entry.setLastModified(f.getEntryLastModified()); keep(i.getDirCacheEntry()); } else { remove(i.getEntryPathString()); conflicts.remove(i.getEntryPathString()); } else {
DirCacheBuilder builder = dc.builder(); tw.addTree(new DirCacheBuildIterator(builder)); if (commitTree != null) tw.addTree(commitTree);
DirCacheBuildIterator buildIt = new DirCacheBuildIterator(builder);