Although the action parameter overrides the diff-parameter when it's present...
ie. [1] http://commons.wikimedia.org/w/index.php?title=File%3AMessi_Training_.jpg&action=submit&diff=45556202&oldid=45511597 and [2] http://commons.wikimedia.org/w/index.php?title=File%3AMessi_Training_.jpg&action=history&diff=45556202&oldid=45511597 don't show diff-views but editscreens and historypages respectively.
.. when it's not present the diff-parameter instructs MediaWiki to asume a historysubmit and generate a diff.
Such as on this link [3] http://commons.wikimedia.org/w/index.php?title=File%3AMessi_Training_.jpg&diff=45556202&oldid=45511597 or [4] http://commons.wikimedia.org/w/index.php?diff=45556202&oldid=45511597 or even [5] http://commons.wikimedia.org/?diff=45556202 for that matter, all show the diff-view. But also all of them have wgAction set to "view" which is wrong.
Although the last link variation is nowhere generated by MediaWiki itself, the first two varations ([3] and [4]) are actually generated by MediaWiki from IRC and in RecentChanges.
The main reason being that it will be a lot easier for user scripts, widgets and tools to detect diff-views as there are so many different URLs possibly leading to it, the easiest way is just for the wgAction to say what it is.
Version: 1.17.x
Severity: enhancement