[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#31277] [PATCH 3/3] services: cgit: Make project-list permit a strin

From: Christopher Baines
Subject: [bug#31277] [PATCH 3/3] services: cgit: Make project-list permit a string.
Date: Thu, 26 Apr 2018 22:23:09 +0100

Instead of having the service manage the list, it's useful to be able to point
this at an existing file, for example, when using cgit together with gitolite.

* gnu/services/cgit.scm (project-list?): New procedure.
(serialize-project-list): Handle string values.
(<cgit-configuration>): Change the predicate for project-list to allow lists
and strings.
 gnu/services/cgit.scm | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/gnu/services/cgit.scm b/gnu/services/cgit.scm
index bacd6ca16..240d4d8d9 100644
--- a/gnu/services/cgit.scm
+++ b/gnu/services/cgit.scm
@@ -115,6 +115,10 @@
 (define (serialize-file-object field-name val)
   (serialize-string field-name val))
+(define (project-list? val)
+  (or (list? val)
+      (string? val)))
 ;;; Serialize <nginx-server-configuration>
@@ -167,7 +171,9 @@
   (if (null? val) ""
-       (plain-file "project-list" (string-join val "\n")))))
+       (if (string? val)
+           val
+           (plain-file "project-list" (string-join val "\n"))))))
 (define repository-directory? string?)
@@ -543,7 +549,7 @@ disabled.")
    "Flag which, when set to @samp{#t}, will make cgit omit the standard
 header on all pages.")
-   (list '())
+   (project-list '())
    "A list of subdirectories inside of @code{repository-directory}, relative
 to it, that should loaded as Git repositories.  An empty list means that all
 subdirectories will be loaded.")

reply via email to

[Prev in Thread] Current Thread [Next in Thread]