Encapsulate restore options for diff

This should make it easier to experiment with solutions for issues such
as #257.