IkiWiki/plugin/git.pm checks for a version of git greater than 1.5.4, and if greater, commits with a blank message and '--cleanup=verbatim'. The cleanup option doesn't let the message get committed. Relatively new versions of git support '--allow-empty-message' but I haven't been able to identify when that feature was added. Instead I opted for a default message.
-544,545d543
-< # git will not commit with a blank comment, though this
-< # can be overridden in later versions.
-547c545,553
-< $params{message}.="No commit message specified.";
----
-> # Force git to allow empty commit messages.
-> # (If this version of git supports it.)
-> my ($version)=`git --version` =~ /git version (.*)/;
-> if ($version ge "1.5.4") {
-> push @opts, '--cleanup=verbatim';
-> }
-> else {
-> $params{message}.=".";
-> }
+ 544,545d543
+ < # git will not commit with a blank comment, though this
+ < # can be overridden in later versions.
+ 547c545,553
+ < $params{message}.="No commit message specified.";
+ ---
+ > # Force git to allow empty commit messages.
+ > # (If this version of git supports it.)
+ > my ($version)=`git --version` =~ /git version (.*)/;
+ > if ($version ge "1.5.4") {
+ > push @opts, '--cleanup=verbatim';
+ > }
+ > else {
+ > $params{message}.=".";
+ > }
The other option would be to change only line 549:
push @opts, '--allow-empty-message';
[[!tag bugs patch]]
+
+> This is already [[fixed|done]] since 3.20130711. git versions since 1.7.2
+> are affected. Here's the commit if you want to backport it:
+> [[b162563|http://source.ikiwiki.branchable.com/?p=source.git;a=commitdiff;h=b162563dc1c6126953e66cdcc508f389b9d39d8e]].
+>
+> As a general comment on synthesizing commit messages, I personally don't
+> think ikiwiki should invent an untranslated English commit message
+> if the user didn't provide one - using an obviously trivial commit message,
+> ".", seems more honest. OTOH, the `bzr` and `mercurial` plugins both use
+> an untranslated "no message given", and `darcs` uses "empty message".
+> It should either consistently use ".", or consistently use gettext(x)
+> for some standardized value of x, perhaps "no message given". Joey,
+> any preference?
+>
+> The other RCS plugins (`cvs`, `svn`, `tla`) never need to deal with an
+> empty commit message because they prepend something like "web commit
+> from smcv", so the message can never be empty.
+>
+> (Patches are usually easier to read/apply if you use "unified diff"
+> (`diff -u` or `git diff`), by the way.)
+>
+> --[[smcv]]