I agree stdin gets different semantics than other files but I think that's sort of ok because it means you generated the patch somehow so presumably you can do that again if you need the patch.
True but this would be a surpising behavior for ordinary Linux user. We can wait for Diego's opinion.
Writing the diff to stdout seems possible, but atleast for my use cases its annoying, but I guess I'm open to adding a flag or something.
You could pipe output through sed or something to extract CL-part: $ mklog ... | sed -ne '/^diff --git/q; p' -Y