Derrick Moser - 2012-01-25

Diffuse does not compare directories at all yet but this is planned. Eventually I would like Diffuse to recognise what type of comparison is being requested by checking whether the first argument specifies a file or a directory. This would let Diffuse be used in either mode without requiring the user to remember and type additional command line options.

There was a feature request (which was implemented) a long time ago to allow users to abbreviate commands like "diffuse a/foo.txt b/foo.txt" to simply "diffuse a/foo.txt b/" like some other diff tools support. When Diffuse encounters directory arguments, it just appends the base name from the previous file argument. This is why Diffuse interprets "diffuse subdir/filename.txt ." like "diffuse subdir/filename.txt ./filename.txt".

"diffuse -m" does something different. It asks the version control system which files have local modifications. If you are only interested in a subset of the files, you can specify the directories or individual files that interest you. In the most recent version of Diffuse, the "diffuse -c rev" command works the same way. I guess "diffuse -m" should really throw an error if the directory is not under version control.