shallDropDerivedCaches = true;
if (!outlineCached()) {
return;
}
if (baseRevisions.length != revisionIndex) {
throw new HgInvalidControlFileException(String.format("New entry's index shall be %d, not %d", baseRevisions.length, revisionIndex), null, indexFile);
}
if (baseRevisionIndex < 0 || baseRevisionIndex > baseRevisions.length) {
// baseRevisionIndex MAY be == to baseRevisions.length, it's when new revision is based on itself
throw new HgInvalidControlFileException(String.format("Base revision index %d doesn't fit [0..%d] range", baseRevisionIndex, baseRevisions.length), null, indexFile);
}
assert revision != null;
assert !revision.isNull();
// next effort doesn't seem to be of any value at least in case of regular commit
// as the next call to #initOutline would recognize the file change and reload complete revlog anyway