use `git show (-s|-p)' instead of `git log -1'
use `--format=' instead of `--pretty='
use `--format=FORMAT' instead of `--format=format:FORMAT'

Provided FORMAT contains "%" this is equivalent to
`--format=tformat:FORMAT', which is the same as `--format=format:FORMAT'
except that it has terminator semantics, i.e. the last line also ends
with a newline character.
magit-rev-verify: new function
change prefixes of mode specific refresh buffers

Rename them from `magit-refresh-MODE-buffer'
to `magit-MODE-refresh-buffer'.
move magit-commit-mode et al to magit-diff.el

The commit inspection mode isn't much more than
a variation of what the general diff mode does.
magit-diff-extra-options: move definition and make constant
magit-commit-extra-options: remove variable

In `magit-commit-refresh-buffer', instead of using that variable,
add the appropriate arguments directly.  Do not use "--no-prefix",
that is also part of the constant `magit-diff-extra-options' which
is also used.
rename magit-commit-mode to magit-revision-mode

"Commit" is used both as a noun and as a verb.  To avoid confusion
rename `magit-commit-mode' to `magit-revision-mode'.  This mode
deals with existing commit objects, while `git-commit-mode' is used
to create them, using `PREFIX-commit-mode' for both would be confusing.

Rename some functions and variables accordingly, also rename
`magit-wash-commit' to `magit-diff-wash-revision', and
`magit-insert-commit-button' to `magit-diff-insert-revision-button'.

The context in which "commit" is used often is enough to tell whether
the action or state is ment , so don't rename every affected symbol,
e.g we keep using `magit-show-commit' and `magit-commit-at-point'.
rename magit-{ => diff-}show-or-scroll{,up,down}
rename magit-{select-diff => diff-select}-algorithm
rename magit-popup-{set,save}-default{s => -arguments}
add new library magit-bisect.el
magit-define-popup: better default name for arguments variable

The macro `magit-define-popup' defines one command and two variables.
The names of these symbols are based on the NAME argument.  The command
and the internal variable which holds constant data are both named just
`NAME'.  There are no restrictions imposed on what `NAME' can be but it
should be something like `PACKAGE-TOPIC-popup' or just `PACKAGE-TOPIC'.
Magit uses the first form so NAME is something `magit-TOPIC-popup'.

The second variable, whose value are the selected shell arguments, was
previously named `NAME-defaults', unless the `:variable' keyword
argument was used.

For most popups this name makes sense because the variable never hold
anything but the default shell arguments.  But for the diff popup this
didn't work well, because that variable is used for other things also.
So we used the name `magit-diff-options' in that case.

Now we change the names of all argument variables (including that of the
diff popup) to `magit-TOPIC-arguments'.  Note that there is no `-popup'
in that name; if NAME ends with "-popup" then the macro removes that
before appending "-arguments".