* as it's not possible to trace rename history otherwise.
*/
public FileHistory prepare(HgDataFile df, int clogRevIndexStart, int clogRevIndexEnd) throws HgRuntimeException {
assert clogRevIndexStart <= clogRevIndexEnd;
FileHistory fileHistory = new FileHistory(df, clogRevIndexStart, clogRevIndexEnd);
fileHistory.build();
int cacheHint = 5; // cache comes useful when we follow merge branches and don't want to
// parse base revision twice. There's no easy way to determine max(distance(all(base,merge))),
// hence the heuristics to use the longest history chunk:
for (FileRevisionHistoryChunk c : fileHistory.iterate(OldToNew)) {
// iteration order is not important here