only compile each revision once