]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
authorJoey Hess <joey@kitenet.net>
Sat, 23 Oct 2010 21:25:25 +0000 (17:25 -0400)
committerJoey Hess <joey@kitenet.net>
Sat, 23 Oct 2010 21:25:25 +0000 (17:25 -0400)
IkiWiki.pm
IkiWiki/Plugin/git.pm
debian/changelog

index 1fa89586efa279f18c0cbd220577fc9e0664215d..08a3d7875da6b9941000b4531755fcb2a6f42d49 100644 (file)
@@ -2608,11 +2608,12 @@ sub match_created_after ($$;@) {
 }
 
 sub match_creation_day ($$;@) {
+       my $page=shift;
        my $d=shift;
        if ($d !~ /^\d+$/) {
                return IkiWiki::ErrorReason->new("invalid day $d");
        }
-       if ((localtime($IkiWiki::pagectime{shift()}))[3] == shift) {
+       if ((localtime($IkiWiki::pagectime{$page}))[3] == $d) {
                return IkiWiki::SuccessReason->new('creation_day matched');
        }
        else {
@@ -2621,11 +2622,12 @@ sub match_creation_day ($$;@) {
 }
 
 sub match_creation_month ($$;@) {
+       my $page=shift;
        my $m=shift;
        if ($m !~ /^\d+$/) {
                return IkiWiki::ErrorReason->new("invalid month $m");
        }
-       if ((localtime($IkiWiki::pagectime{shift()}))[4] + 1 == shift) {
+       if ((localtime($IkiWiki::pagectime{$page}))[4] + 1 == $m) {
                return IkiWiki::SuccessReason->new('creation_month matched');
        }
        else {
@@ -2634,11 +2636,12 @@ sub match_creation_month ($$;@) {
 }
 
 sub match_creation_year ($$;@) {
+       my $page=shift;
        my $y=shift;
        if ($y !~ /^\d+$/) {
                return IkiWiki::ErrorReason->new("invalid year $y");
        }
-       if ((localtime($IkiWiki::pagectime{shift()}))[5] + 1900 == $y) {
+       if ((localtime($IkiWiki::pagectime{$page}))[5] + 1900 == $y) {
                return IkiWiki::SuccessReason->new('creation_year matched');
        }
        else {
index f8e16859bed71d28d3dbd6b5ee3a5877782450a2..f5101d904012b8472c1cf77d143ee218f0e32f59 100644 (file)
@@ -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 ($) {
index cee42dc85b546634436cfbe41adbbfdc697d9ca2..b304e4b8645ffb33017784913787733e4f430bf7 100644 (file)
@@ -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