private void stageDeletes(Iterator<NodeRef> trees, Iterator<String> features) { final StagingArea index = stagingArea();
private void stageDeletes(Iterator<NodeRef> trees, Iterator<String> features) { final StagingArea index = stagingArea(); Iterator<DiffEntry> treeDeletes = Iterators.transform(trees, (treeRef) -> new DiffEntry(treeRef, null)); Iterator<DiffEntry> featureDeletes = Iterators.transform(features, (featurePath) -> { Node node = Node.create(NodeRef.nodeFromPath(featurePath), ObjectId.NULL, ObjectId.NULL, TYPE.FEATURE, null); String parentPath = NodeRef.parentPath(featurePath); NodeRef oldFeature = new NodeRef(node, parentPath, ObjectId.NULL); return new DiffEntry(oldFeature, null); }); ProgressListener progress = DefaultProgressListener.NULL; index.stage(progress, Iterators.concat(treeDeletes, featureDeletes), -1); }
ObjectId stageTree = stagingArea().getTree().getId(); final boolean nothingElseStaged = headTree.isPresent() && headTree.get().equals(stageTree); if (nothingElseStaged) { stagingArea().updateStageHead(finalWorkTree.getId()); } else { stageDeletes(deleteTrees.values().iterator(), deleteFeatures.iterator());
ObjectId stageTree = stagingArea().getTree().getId(); final boolean nothingElseStaged = headTree.isPresent() && headTree.get().equals(stageTree); if (nothingElseStaged) { stagingArea().updateStageHead(finalWorkTree.getId()); } else { stageDeletes(deleteTrees.values().iterator(), deleteFeatures.iterator());