dirstateBuilder.recordRemoved(file);
}
} else if (resolveUse != null) {
if (resolveUse != revA) {
changedDirstate = true;
final WorkingDirFileWriter fw = new WorkingDirFileWriter(repo);
fw.processFile(resolveUse);
if (resolveUse == revB) {
dirstateBuilder.recordMergedFromP2(file);
} else {
dirstateBuilder.recordMerged(file, fw.fmode(), fw.mtime(), fw.bytesWritten());
}
} // if resolution is to use revA, nothing to do
} else if (resolveContent != null) {
changedDirstate = true;
// FIXME write content to file using transaction?
InputStream is;
try {
is = new FileInputStream(resolveContent);
} catch (IOException ex) {
throw new HgIOException("Failed to read temporary content", ex, resolveContent);
}
final WorkingDirFileWriter fw = new WorkingDirFileWriter(repo);
fw.processFile(file, is, revA == null ? revB.getFileFlags() : revA.getFileFlags());
// XXX if presentState(null, fileOnlyInB), and use(InputStream) - i.e.
// resolution is to add file with supplied content - shall I put 'Merged', MergedFromP2 or 'Added' into dirstate?
if (revA == null && revB != null) {
dirstateBuilder.recordMergedFromP2(file);
} else {
dirstateBuilder.recordMerged(file, fw.fmode(), fw.mtime(), fw.bytesWritten());
}
} // else no resolution was chosen, fine with that
}