Fixed: Allow Git special versions to be used for diff.

While this is not strictly in the sense of an abstraction layer, this patch allows to use Git special revision keywords (e.g. HEAD or $version^) for diffing, which is useful for some cases.