Furthermore, I have to pay for this non-cleverness by waiting

Scenario: I ask for recursive "diff" of two versions of a folder.
Vault now builds two complete copies of the folder on my computer, and invoke my "diff" program on these folders.
The problem is that all files are transferred from the server. There might be many files in the folder, and perhaps only one of them are changed. Nevertherless all the non-diffing files are transferred twice. Furthermore, several of the files might already have been present in my working folder.
Besides spending time, then transferring the same file twice has another unfortunate consequence: the two files get dfferent timestamps. Most "diff" programs would treat the files much more efficient if the timestamps on the "same" file was the same.