If the user provides a source revision with -r <revision>, but not a destination revision (i.e. not -r <r1>:<r2>), then all files that changed are listed with a destination revision of "working copy". This includes files with no changes in the working directory but were instead changed in a previous revision between <revision> and BASE.
Checking each file to see if it's changed in the working copy (again) may significantly slow down the processing, so this should probably be hidden behind a flag.