From e33df09f4eb26a5285906edb75df72fb23252edb Mon Sep 17 00:00:00 2001
From: Sebastian Poxhofer <secustor@users.noreply.github.com>
Date: Wed, 5 May 2021 06:24:58 +0200
Subject: [PATCH] fix(pre-commit): allow hooks in the format git:// (#9858)

Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
---
 .../pre-commit/__fixtures__/.pre-commit-config.yaml        | 4 ++++
 lib/manager/pre-commit/__snapshots__/extract.spec.ts.snap  | 7 +++++++
 lib/manager/pre-commit/extract.ts                          | 2 ++
 3 files changed, 13 insertions(+)

diff --git a/lib/manager/pre-commit/__fixtures__/.pre-commit-config.yaml b/lib/manager/pre-commit/__fixtures__/.pre-commit-config.yaml
index 68b1ae9cd8..911a675437 100644
--- a/lib/manager/pre-commit/__fixtures__/.pre-commit-config.yaml
+++ b/lib/manager/pre-commit/__fixtures__/.pre-commit-config.yaml
@@ -8,3 +8,7 @@ repos:
     -   id: end-of-file-fixer
     -   id: check-yaml
     -   id: check-added-large-files
+- repo: git://github.com/pre-commit/pre-commit-hooks
+  rev: v2.1.0
+  hooks:
+    - id: check-merge-conflict
diff --git a/lib/manager/pre-commit/__snapshots__/extract.spec.ts.snap b/lib/manager/pre-commit/__snapshots__/extract.spec.ts.snap
index e3326eed0a..4970a45515 100644
--- a/lib/manager/pre-commit/__snapshots__/extract.spec.ts.snap
+++ b/lib/manager/pre-commit/__snapshots__/extract.spec.ts.snap
@@ -118,6 +118,13 @@ Object {
       "depType": "repository",
       "lookupName": "pre-commit/pre-commit-hooks",
     },
+    Object {
+      "currentValue": "v2.1.0",
+      "datasource": "github-tags",
+      "depName": "pre-commit/pre-commit-hooks",
+      "depType": "repository",
+      "lookupName": "pre-commit/pre-commit-hooks",
+    },
   ],
 }
 `;
diff --git a/lib/manager/pre-commit/extract.ts b/lib/manager/pre-commit/extract.ts
index 07aa5657fc..0bdf1996be 100644
--- a/lib/manager/pre-commit/extract.ts
+++ b/lib/manager/pre-commit/extract.ts
@@ -92,6 +92,8 @@ function extractDependency(
     regEx('^https?:\\/\\/(?<hostname>[^\\/]+)\\/(?<depName>\\S*)'),
     // This splits "git@private.registry.com:user/repo" -> "private.registry.com" "user/repo
     regEx('^git@(?<hostname>[^:]+):(?<depName>\\S*)'),
+    // This split "git://github.com/pre-commit/pre-commit-hooks" -> "github.com" "pre-commit/pre-commit-hooks"
+    /^git:\/\/(?<hostname>[^/]+)\/(?<depName>\S*)/,
   ];
   for (const urlMatcher of urlMatchers) {
     const match = urlMatcher.exec(repository);
-- 
GitLab