It's nicer in case a user transfers lei/store across machines
and wants a way to track when/where they imported something.
---
 lib/PublicInbox/LeiStore.pm | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/lib/PublicInbox/LeiStore.pm b/lib/PublicInbox/LeiStore.pm
index 094e1555..f8371abf 100644
--- a/lib/PublicInbox/LeiStore.pm
+++ b/lib/PublicInbox/LeiStore.pm
@@ -63,8 +63,16 @@ sub git_ident ($) {
        my $rdr = {};
        open $rdr->{2}, '>', '/dev/null' or die "open /dev/null: $!";
        chomp(my $i = $git->qx([qw(var GIT_COMMITTER_IDENT)], undef, $rdr));
-       $i =~ /\A(.+) <([^>]+)> [0-9]+ [-\+]?[0-9]+$/ ? ($1, $2) :
-               ('lei user', '[email protected]')
+       $i =~ /\A(.+) <([^>]+)> [0-9]+ [-\+]?[0-9]+$/ and return ($1, $2);
+       my ($user, undef, undef, undef, undef, undef, $gecos) = getpwuid($<);
+       ($user) = (($user // $ENV{USER} // '') =~ /([\w\-\.\+]+)/);
+       $user //= 'lei-user';
+       ($gecos) = (($gecos // '') =~ /([\w\-\.\+ \t]+)/);
+       $gecos //= 'lei user';
+       require Sys::Hostname;
+       my ($host) = (Sys::Hostname::hostname() =~ /([\w\-\.]+)/);
+       $host //= 'localhost';
+       ($gecos, "$user\@$host")
 }
 
 sub importer {
--
unsubscribe: one-click, see List-Unsubscribe header
archive: https://public-inbox.org/meta/

Reply via email to