revision.c: explain what tree_difference does