]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
ensure_committer: don't do anything if we have the environment variables
authorSimon McVittie <smcv@debian.org>
Mon, 30 Nov 2015 20:46:12 +0000 (20:46 +0000)
committerSimon McVittie <smcv@debian.org>
Wed, 11 Jan 2017 19:55:08 +0000 (19:55 +0000)
(cherry picked from commit 1f635c6dcaeff8f869f874f659da875c4e7f1863)

IkiWiki/Plugin/git.pm

index 9cebabea41548611e05dc5ffede5d2d0ea591ddb..0140768ff957ee15b97f2536c6e656cc847da369 100644 (file)
@@ -221,15 +221,18 @@ sub run_or_cry ($@) { safe_git(sub { warn @_ }, undef, @_) }
 sub run_or_non ($@) { safe_git(undef, undef, @_) }
 
 sub ensure_committer {
 sub run_or_non ($@) { safe_git(undef, undef, @_) }
 
 sub ensure_committer {
-       my $name = join('', run_or_non("git", "config", "user.name"));
-       my $email = join('', run_or_non("git", "config", "user.email"));
-
-       if (! length $name) {
-               run_or_die("git", "config", "user.name", "IkiWiki");
+       if (! length $ENV{GIT_AUTHOR_NAME} || ! length $ENV{GIT_COMMITTER_NAME}) {
+               my $name = join('', run_or_non("git", "config", "user.name"));
+               if (! length $name) {
+                       run_or_die("git", "config", "user.name", "IkiWiki");
+               }
        }
 
        }
 
-       if (! length $email) {
-               run_or_die("git", "config", "user.email", "ikiwiki.info");
+       if (! length $ENV{GIT_AUTHOR_EMAIL} || ! length $ENV{GIT_COMMITTER_EMAIL}) {
+               my $email = join('', run_or_non("git", "config", "user.email"));
+               if (! length $email) {
+                       run_or_die("git", "config", "user.email", "ikiwiki.info");
+               }
        }
 }
 
        }
 }
 
@@ -585,8 +588,6 @@ sub rcs_commit_helper (@) {
        
        my %env=%ENV;
 
        
        my %env=%ENV;
 
-       ensure_committer();
-
        if (defined $params{session}) {
                # Set the commit author and email based on web session info.
                my $u;
        if (defined $params{session}) {
                # Set the commit author and email based on web session info.
                my $u;
@@ -610,6 +611,8 @@ sub rcs_commit_helper (@) {
                }
        }
 
                }
        }
 
+       ensure_committer();
+
        $params{message} = IkiWiki::possibly_foolish_untaint($params{message});
        my @opts;
        if ($params{message} !~ /\S/) {
        $params{message} = IkiWiki::possibly_foolish_untaint($params{message});
        my @opts;
        if ($params{message} !~ /\S/) {