[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#31089] [PATCH 4/5] services: cgit: Enforce serialization order.
From: |
Ludovic Courtès |
Subject: |
[bug#31089] [PATCH 4/5] services: cgit: Enforce serialization order. |
Date: |
Tue, 10 Apr 2018 23:00:22 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Clément Lassieur <address@hidden> skribis:
> This distinguishes fields whose order matters, and makes sure further changes
> won't inadvertently change the order.
>
> * gnu/services/cgit.scm (serialize-cgit-configuration): New procedure that
> serializes fields with a precise order.
> (cgit-activation): Replace the generic SERIALIZE-CONFIGURATION with
> SERIALIZE-CGIT-CONFIGURATION.
> ---
> gnu/services/cgit.scm | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/services/cgit.scm b/gnu/services/cgit.scm
> index 98e46e0b8..f53306cd3 100644
> --- a/gnu/services/cgit.scm
> +++ b/gnu/services/cgit.scm
> @@ -631,6 +631,17 @@ for cgit to allow access to that repository.")
> (list '())
> "Extra options will be appended to cgitrc file."))
>
> +(define (serialize-cgit-configuration config)
> + (define (rest? field)
> + (not (memq (configuration-field-name field)
> + '(repositories))))
> + #~(string-append
> + #$(let ((rest (filter rest? cgit-configuration-fields)))
> + (serialize-configuration config rest))
> + #$(serialize-repository-cgit-configuration-list
> + 'repositories
> + (cgit-configuration-repositories config))))
Please add a comment here explaining the story about field ordering.
OK with this change!
Ludo’.