Talk about <revision.h>, things like:
two diff_options, one for path limiting, another for output;
calling sequence: init_revisions(), setup_revsions(), get_revision();
(Linus, JC, Dscho)