@@ -8,6 +8,7 @@
;;; Copyright © 2020 Helio Machado <0x2b3bfa0+guix@googlemail.com>
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -43,6 +44,7 @@
#:use-module (ice-9 rdelim)
#:use-module (ice-9 receive)
#:use-module (ice-9 regex)
+ #:use-module (ice-9 ftw)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
#:use-module (srfi srfi-11)
@@ -74,6 +76,9 @@
guix-name
+ git-repository?
+ hg-repository?
+
recursive-import))
(define (factorize-uri uri version)
@@ -422,6 +427,16 @@ separated by PRED."
(chr (char-downcase chr)))
name)))
+(define (git-repository? directory)
+ "Check whether DIRECTORY is a Git repository."
+ (let ((contents (scandir directory)))
+ (if (member ".git" contents) #t #f)))
+
+(define (hg-repository? directory)
+ "Check whether DIRECTORY is a Hg repository."
+ (let ((contents (scandir directory)))
+ (if (member ".hg" contents) #t #f)))
+
(define (topological-sort nodes
node-dependencies
node-name)