@@ -168,7 +168,8 @@ sub format_2822_time {
168168# Example reply to:
169169# $initial_reply_to = ''; #<[email protected] >';170170
171- my $repo = Git-> repository();
171+ my $repo = eval { Git-> repository() };
172+ my @repo = $repo ? ($repo ) : ();
172173my $term = eval {
173174 $ENV {" GIT_SEND_EMAIL_NOTTY" }
174175 ? new Term::ReadLine ' git-send-email' , \*STDIN , \*STDOUT
@@ -271,25 +272,25 @@ sub read_config {
271272
272273 foreach my $setting (keys %config_bool_settings ) {
273274 my $target = $config_bool_settings {$setting }-> [0];
274- $$target = $repo -> config_bool(" $prefix .$setting " ) unless (defined $$target );
275+ $$target = Git:: config_bool(@repo , " $prefix .$setting " ) unless (defined $$target );
275276 }
276277
277278 foreach my $setting (keys %config_settings ) {
278279 my $target = $config_settings {$setting };
279280 if (ref ($target ) eq " ARRAY" ) {
280281 unless (@$target ) {
281- my @values = $repo -> config(" $prefix .$setting " );
282+ my @values = Git:: config(@repo , " $prefix .$setting " );
282283 @$target = @values if (@values && defined $values [0]);
283284 }
284285 }
285286 else {
286- $$target = $repo -> config(" $prefix .$setting " ) unless (defined $$target );
287+ $$target = Git:: config(@repo , " $prefix .$setting " ) unless (defined $$target );
287288 }
288289 }
289290}
290291
291292# read configuration from [sendemail "$identity"], fall back on [sendemail]
292- $identity = $repo -> config(" sendemail.identity" ) unless (defined $identity );
293+ $identity = Git:: config(@repo , " sendemail.identity" ) unless (defined $identity );
293294read_config(" sendemail.$identity " ) if (defined $identity );
294295read_config(" sendemail" );
295296
@@ -327,8 +328,9 @@ sub read_config {
327328 }
328329}
329330
330- my ($repoauthor ) = $repo -> ident_person(' author' );
331- my ($repocommitter ) = $repo -> ident_person(' committer' );
331+ my ($repoauthor , $repocommitter );
332+ ($repoauthor ) = Git::ident_person(@repo , ' author' );
333+ ($repocommitter ) = Git::ident_person(@repo , ' committer' );
332334
333335# Verify the user input
334336
@@ -415,7 +417,7 @@ sub read_config {
415417
416418my $prompting = 0;
417419if (!defined $sender ) {
418- $sender = $repoauthor || $repocommitter ;
420+ $sender = $repoauthor || $repocommitter || ' ' ;
419421
420422 while (1) {
421423 $_ = $term -> readline(" Who should the emails appear to be from? [$sender ] " );
@@ -509,7 +511,7 @@ sub expand_aliases {
509511EOT
510512 close (C);
511513
512- my $editor = $ENV {GIT_EDITOR } || $repo -> config(" core.editor" ) || $ENV {VISUAL } || $ENV {EDITOR } || " vi" ;
514+ my $editor = $ENV {GIT_EDITOR } || Git:: config(@repo , " core.editor" ) || $ENV {VISUAL } || $ENV {EDITOR } || " vi" ;
513515 system (' sh' , ' -c' , ' $0 $@' , $editor , $compose_filename );
514516
515517 open (C2," >" ,$compose_filename . " .final" )
0 commit comments