1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 21:20:33 +02:00

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
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 If true, set the @code{init.defaultBranch} option to that value. Common
values are @code{"master"} and @code{"main"}. 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 table
@end deftp @end deftp

View File

@@ -73,6 +73,7 @@
gitolite-git-configuration-name gitolite-git-configuration-name
gitolite-git-configuration-email gitolite-git-configuration-email
gitolite-git-configuration-default-branch gitolite-git-configuration-default-branch
gitolite-git-configuration-receive-fsck-objects
gitolite-service-type gitolite-service-type
@@ -331,17 +332,19 @@ access to exported repositories under @file{/srv/git}."
(define-record-type* <gitolite-git-configuration> (define-record-type* <gitolite-git-configuration>
gitolite-git-configuration make-gitolite-git-configuration gitolite-git-configuration make-gitolite-git-configuration
gitolite-git-configuration? gitolite-git-configuration?
(name gitolite-git-configuration-name (name gitolite-git-configuration-name
(default "GNU Guix")) (default "GNU Guix"))
(email gitolite-git-configuration-email (email gitolite-git-configuration-email
(default "guix@localhost")) (default "guix@localhost"))
(default-branch gitolite-git-configuration-default-branch (default-branch gitolite-git-configuration-default-branch
(default #f))) (default #f))
(receive-fsck-objects gitolite-git-configuration-receive-fsck-objects
(default #f)))
(define-gexp-compiler (gitolite-git-configuration-compiler (define-gexp-compiler (gitolite-git-configuration-compiler
(config <gitolite-git-configuration>) system target) (config <gitolite-git-configuration>) system target)
(match-record config <gitolite-git-configuration> (match-record config <gitolite-git-configuration>
(name email default-branch) (name email default-branch receive-fsck-objects)
(apply text-file* "gitconfig" (apply text-file* "gitconfig"
`("[user]\n" `("[user]\n"
"name = " ,name "\n" "name = " ,name "\n"
@@ -349,6 +352,10 @@ access to exported repositories under @file{/srv/git}."
,@(if default-branch ,@(if default-branch
`("[init]\n" `("[init]\n"
"defaultBranch = " ,default-branch "\n") "defaultBranch = " ,default-branch "\n")
'())
,@(if receive-fsck-objects
`("[receive]\n"
"fsckObjects = true\n")
'()))))) '())))))
(define-record-type* <gitolite-configuration> (define-record-type* <gitolite-configuration>