Subject: [PATCH 18/20] TEMP REMOVE import: git: Restrict to non-github origins.

From: Hartmut Goebel <[email-masked]>
Date: Sun, 28 Aug 2022 15:18:44 +0200

This commit will be dropped and not be committed to the main branch!

'guix refresh -t generic-git' reported a lot of packages which are hosted at
github and are already handled by the github updater.  So whether the package
is updates using the github updater or the generic-git updater would be
non-deterministic.

And indeed 'guix refresh --list-updaters' without this change reported 31.2%
for the github updater and 34.9% for the generic-git updater.  With this
patch, it's only 3.7% for the generic-git updater.  (Still the sum of the
percent-values is 112%, anyhow better then the 146% prior to this change.)

Beside these statistical issues, this patch has another effect:  If the github
updater fails to pick a (later) version the generic-git updater was
triggered.  Anyhow: Why should the generic-git updater be able to find
a (later) version, if the github updater did not?

* guix/import/github.scm: Export 'github-package?'.
* guix/import/git.scm(git-package?): Also check for not github-package?.
---
 guix/import/git.scm    | 4 +++-
 guix/import/github.scm | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/guix/import/git.scm b/guix/import/git.scm
index fdac51edfd..02a851655d 100644
--- a/guix/import/git.scm
+++ b/guix/import/git.scm
@@ -25,6 +25,7 @@
   #:use-module (guix git)
   #:use-module (guix git-download)
   #:use-module (guix i18n)
+  #:use-module ((guix import github)  #:select (github-package?))
   #:use-module (guix packages)
   #:use-module (guix upstream)
   #:use-module (guix utils)
@@ -213,7 +214,8 @@ tag, or #false and #false if the latest version could not be determined."
   (match (package-source package)
     ((? origin? origin)
      (and (eq? (origin-method origin) git-fetch)
-          (git-reference? (origin-uri origin))))
+          (git-reference? (origin-uri origin))
+          (not (github-package? package))))
     (_ #f)))
 
 (define* (import-git-release package #:key (version #f))
diff --git a/guix/import/github.scm b/guix/import/github.scm
index facdc96e24..01aa23ba15 100644
--- a/guix/import/github.scm
+++ b/guix/import/github.scm
@@ -42,7 +42,7 @@
   #:use-module (guix http-client)
   #:use-module (web uri)
   #:use-module (web response)
-  #:export (%github-api %github-updater))
+  #:export (%github-api %github-updater github-package?))
 
 ;; For tests.
 (define %github-api (make-parameter "https://api.github.com"))
-- 
2.30.4