Browse Source
services: cgit: Make project-list permit a file-object.
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 file-object values.
(<cgit-configuration>): Change the predicate for project-list to allow lists
and file-objects.
version-0.15.0
Christopher Baines
4 years ago
No known key found for this signature in database
GPG Key ID: 5E28A33B0B84F577
2 changed files with
9 additions and
3 deletions
doc/guix.texi
gnu/services/cgit.scm
@ -19241,7 +19241,7 @@ Defaults to @samp{#f}.
@end deftypevr
@deftypevr {@code{cgit-configuration} parameter} list project-list
@deftypevr {@code{cgit-configuration} parameter} project- 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.
@ -116,6 +116,10 @@
( define ( serialize-file-object field-name val )
( serialize-string field-name val ) )
( define ( project-list? val )
( or ( list? val )
( file-object? val ) ) )
;;;
;;; Serialize <nginx-server-configuration>
@ -168,7 +172,9 @@
( if ( null? val ) ""
( serialize-field
'project-list
( plain-file "project-list" ( string-join val "\n" ) ) ) ) )
( if ( file-object? val )
val
( plain-file "project-list" ( string-join val "\n" ) ) ) ) ) )
( define ( serialize-extra-options extra-options )
( string-join extra-options "\n" 'suffix ) )
@ -547,7 +553,7 @@ disabled.")
" Flag which, when set to @samp { #t } , will make cgit omit the standard
header on all pages . " )
( project-list
( 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 . " )