apteryx pushed a commit to branch master
in repository guix.

commit d4f3719a92d76434fb90f5f53bc407f2e2fb92e6
Author: Tomas Volf <[email protected]>
AuthorDate: Tue Apr 1 00:10:18 2025 +0200

    services: gitolite-git-configuration: Add receive-fsck-objects field.
    
    * gnu/services/version-control.scm (<gitolite-git-configuration>): Add
    receive-fsck-objects field.
    (gitolite-git-configuration-compiler): Handle it during configuration file
    generation.
    * doc/guix.texi (Version Control Services): Document it.
    
    Change-Id: Iceb02f60b8ef26138961aefef4e56ca83df0e19f
    Signed-off-by: Maxim Cournoyer <[email protected]>
---
 doc/guix.texi                    |  3 +++
 gnu/services/version-control.scm | 21 ++++++++++++++-------
 2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 786eed525f..2d48ef5cbe 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -41100,6 +41100,9 @@ Email used for commits (e.g. during setting up the 
admin repository).
 If true, set the @code{init.defaultBranch} option to that value.  Common
 values are @code{"master"} and @code{"main"}.
 
+@item @code{receive-fsck-objects} (default: @code{#f})
+If it is set to true, git-receive-pack will check all received objects.
+
 @end table
 @end deftp
 
diff --git a/gnu/services/version-control.scm b/gnu/services/version-control.scm
index 12653b3cea..1e21174ea9 100644
--- a/gnu/services/version-control.scm
+++ b/gnu/services/version-control.scm
@@ -73,6 +73,7 @@
             gitolite-git-configuration-name
             gitolite-git-configuration-email
             gitolite-git-configuration-default-branch
+            gitolite-git-configuration-receive-fsck-objects
 
             gitolite-service-type
 
@@ -331,17 +332,19 @@ access to exported repositories under @file{/srv/git}."
 (define-record-type* <gitolite-git-configuration>
   gitolite-git-configuration make-gitolite-git-configuration
   gitolite-git-configuration?
-  (name           gitolite-git-configuration-name
-                  (default "GNU Guix"))
-  (email          gitolite-git-configuration-email
-                  (default "guix@localhost"))
-  (default-branch gitolite-git-configuration-default-branch
-                  (default #f)))
+  (name                 gitolite-git-configuration-name
+                        (default "GNU Guix"))
+  (email                gitolite-git-configuration-email
+                        (default "guix@localhost"))
+  (default-branch       gitolite-git-configuration-default-branch
+                        (default #f))
+  (receive-fsck-objects gitolite-git-configuration-receive-fsck-objects
+                        (default #f)))
 
 (define-gexp-compiler (gitolite-git-configuration-compiler
                        (config <gitolite-git-configuration>) system target)
   (match-record config <gitolite-git-configuration>
-                (name email default-branch)
+                (name email default-branch receive-fsck-objects)
     (apply text-file* "gitconfig"
            `("[user]\n"
              "name  = " ,name  "\n"
@@ -349,6 +352,10 @@ access to exported repositories under @file{/srv/git}."
              ,@(if default-branch
                    `("[init]\n"
                      "defaultBranch = " ,default-branch "\n")
+                   '())
+             ,@(if receive-fsck-objects
+                   `("[receive]\n"
+                     "fsckObjects = true\n")
                    '())))))
 
 (define-record-type* <gitolite-configuration>

Reply via email to