The changes_from() implementation fails the include_parents test. The previous get_deltas_for_revisions() implementation would include mv foo bar if you did bzr log bar/file (It would show you changes to a parent dir, when logging a child.) It is arguable either way, but I think we want to preserve this behavior.
Also note that this 'changes_from' implementation is taking 1m35s up from the 36s I was seeing with the simpler implementation. My guess is that the paths2ids overhead is significant.