diff options
author | Eric Wong <e@yhbt.net> | 2020-06-27 10:03:41 +0000 |
---|---|---|
committer | Eric Wong <e@yhbt.net> | 2020-06-28 22:27:18 +0000 |
commit | 67592c40510dae8604580cf4b2a0a0f665b84501 (patch) | |
tree | 426f2abd4af167df7b7f3e49d5ea95e7dfe8b773 /lib/PublicInbox/TestCommon.pm | |
parent | bbf4159b7694241d2139be641ced4c485303714a (diff) | |
download | public-inbox-67592c40510dae8604580cf4b2a0a0f665b84501.tar.gz |
config: support ->urlmatch method for -watch
Since we have IMAP client support in -watch; make sure per-URL settings are familiar to git users by taking advantage of git's URL matching abilities. This requires git 1.8.5+, which most users ought to have (though base CentOS 7 is on 1.8.3).
Diffstat (limited to 'lib/PublicInbox/TestCommon.pm')
-rw-r--r-- | lib/PublicInbox/TestCommon.pm | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/PublicInbox/TestCommon.pm b/lib/PublicInbox/TestCommon.pm index 14ebba10..7b4da8b5 100644 --- a/lib/PublicInbox/TestCommon.pm +++ b/lib/PublicInbox/TestCommon.pm @@ -55,15 +55,16 @@ sub tcp_connect { sub require_git ($;$) { my ($req, $maybe) = @_; - my ($req_maj, $req_min) = split(/\./, $req); - my ($cur_maj, $cur_min) = (`git --version` =~ /version (\d+)\.(\d+)/); + my ($req_maj, $req_min, $req_sub) = split(/\./, $req); + my ($cur_maj, $cur_min, $cur_sub) = (xqx([qw(git --version)]) + =~ /version (\d+)\.(\d+)(?:\.(\d+))?/); - my $req_int = ($req_maj << 24) | ($req_min << 16); - my $cur_int = ($cur_maj << 24) | ($cur_min << 16); + my $req_int = ($req_maj << 24) | ($req_min << 16) | ($req_sub // 0); + my $cur_int = ($cur_maj << 24) | ($cur_min << 16) | ($cur_sub // 0); if ($cur_int < $req_int) { return 0 if $maybe; Test::More::plan(skip_all => - "git $req+ required, have $cur_maj.$cur_min"); + "git $req+ required, have $cur_maj.$cur_min.$cur_sub"); } 1; } |