summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--IkiWiki/Plugin/git.pm15
-rw-r--r--debian/changelog6
2 files changed, 16 insertions, 5 deletions
diff --git a/IkiWiki/Plugin/git.pm b/IkiWiki/Plugin/git.pm
index f8e16859b..f5101d904 100644
--- a/IkiWiki/Plugin/git.pm
+++ b/IkiWiki/Plugin/git.pm
@@ -848,9 +848,20 @@ sub rcs_preprevert ($) {
# in order to see all changes.
my ($subdir, $rootdir) = git_find_root();
$git_dir=$rootdir;
- my @ret=git_parse_changes(git_commit_info($sha1, 1));
+ my @commits=git_commit_info($sha1, 1);
$git_dir=undef;
- return @ret;
+
+ if (! @commits) {
+ error "unknown commit"; # just in case
+ }
+
+ # git revert will fail on merge commits. Add a nice message.
+ if (exists $commits[0]->{parents} &&
+ @{$commits[0]->{parents}} > 1) {
+ error gettext("you are not allowed to revert a merge");
+ }
+
+ return git_parse_changes(@commits);
}
sub rcs_revert ($) {
diff --git a/debian/changelog b/debian/changelog
index cee42dc85..b304e4b86 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,9 @@
-ikiwiki (3.20101020) UNRELEASED; urgency=low
+ikiwiki (3.20101023) unstable; urgency=low
* Fix typo that broke anonymous git push.
- * fix web reversion when the srcdir is in a subdir of the git repo.
+ * Fix web reversion when the srcdir is in a subdir of the git repo.
- -- Joey Hess <joeyh@debian.org> Sat, 23 Oct 2010 15:25:19 -0400
+ -- Joey Hess <joeyh@debian.org> Sat, 23 Oct 2010 16:36:50 -0400
ikiwiki (3.20101019) unstable; urgency=low