about summary refs log tree commit homepage
path: root/lib/PublicInbox/TestCommon.pm
diff options
context:
space:
mode:
authorEric Wong <e@yhbt.net>2020-06-27 10:03:41 +0000
committerEric Wong <e@yhbt.net>2020-06-28 22:27:18 +0000
commit67592c40510dae8604580cf4b2a0a0f665b84501 (patch)
tree426f2abd4af167df7b7f3e49d5ea95e7dfe8b773 /lib/PublicInbox/TestCommon.pm
parentbbf4159b7694241d2139be641ced4c485303714a (diff)
downloadpublic-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.pm11
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;
 }