diff options
author | Eric Wong <e@80x24.org> | 2021-02-07 23:05:18 -1000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2021-02-08 22:07:48 +0000 |
commit | 9e9ab7447b219bad3f764dfc646d8d7e9d7c39f4 (patch) | |
tree | ff5e48bb1ddd7cb799fedcd6d7eee70b09be0d75 /lib/PublicInbox/Git.pm | |
parent | 1b3016fbb108d3dbf50ced53012eabbfec4536ea (diff) | |
download | public-inbox-9e9ab7447b219bad3f764dfc646d8d7e9d7c39f4.tar.gz |
Users are expected to be familiar with git's "approxidate" functionality for parsing dates, so we'll expose that in our UIs. Xapian itself has limited date parsing functionality and I can't expect users to learn it. This takes around 4-5ms on my aging workstation, so it'll probably be made acceptable for the WWW UI, even. libgit2 has a git__date_parse function which I expect to have less overhead, but it's only for internal use at the moment.
Diffstat (limited to 'lib/PublicInbox/Git.pm')
-rw-r--r-- | lib/PublicInbox/Git.pm | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/PublicInbox/Git.pm b/lib/PublicInbox/Git.pm index c6c1c802..9207962b 100644 --- a/lib/PublicInbox/Git.pm +++ b/lib/PublicInbox/Git.pm @@ -362,8 +362,7 @@ sub popen { # same args as popen above sub qx { - my $self = shift; - my $fh = $self->popen(@_); + my $fh = popen(@_); if (wantarray) { local $/ = "\n"; my @ret = <$fh>; @@ -377,6 +376,11 @@ sub qx { } } +sub date_parse { + my $d = $_[0]->qx('rev-parse', "--since=$_[1]"); + substr($d, length('--max-age='), -1) +} + # check_async and cat_async may trigger the other, so ensure they're # both completely done by using this: sub async_wait_all ($) { |