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 <maxim.cournoyer@gmail.com>
This commit is contained in:
Tomas Volf 2025-04-01 00:10:18 +02:00 committed by Maxim Cournoyer
parent 1f1a0e8773
commit d4f3719a92
No known key found for this signature in database
GPG key ID: 1260E46482E63562
2 changed files with 17 additions and 7 deletions

View file

@ -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

View file

@ -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>