diff options
author | Joey Hess <joey@kitenet.net> | 2010-10-23 17:13:04 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2010-10-23 17:19:48 -0400 |
commit | 5db2d6f6b224872b119535d57e675d12a2c7dfe1 (patch) | |
tree | 0862beb5190bb7d7e5f54a0c0a19fb9b92a057e7 /IkiWiki/Plugin | |
parent | 0cc2a36f593fd14b6345ad2c0b446edb2bafbe2e (diff) | |
download | ikiwiki-5db2d6f6b224872b119535d57e675d12a2c7dfe1.tar ikiwiki-5db2d6f6b224872b119535d57e675d12a2c7dfe1.tar.gz |
nice message if someone tries to revert a merge commit
Diffstat (limited to 'IkiWiki/Plugin')
-rw-r--r-- | IkiWiki/Plugin/git.pm | 15 |
1 files changed, 13 insertions, 2 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 ($) { |