apteryx pushed a commit to branch master
in repository guix.

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

    services: gitolite-git-configuration: Add default-branch field.
    
    * gnu/services/version-control.scm (<gitolite-git-configuration>): Add
    default-branch 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                    |  4 ++++
 gnu/services/version-control.scm | 19 +++++++++++++------
 2 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 88eae4d782..786eed525f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -41096,6 +41096,10 @@ repository).
 @item @code{email} (default: @code{"guix@@localhost"})
 Email used for commits (e.g. during setting up the admin repository).
 
+@item @code{default-branch} (default: @code{#f})
+If true, set the @code{init.defaultBranch} option to that value.  Common
+values are @code{"master"} and @code{"main"}.
+
 @end table
 @end deftp
 
diff --git a/gnu/services/version-control.scm b/gnu/services/version-control.scm
index dcdddf8078..12653b3cea 100644
--- a/gnu/services/version-control.scm
+++ b/gnu/services/version-control.scm
@@ -72,6 +72,7 @@
             gitolite-git-configuration?
             gitolite-git-configuration-name
             gitolite-git-configuration-email
+            gitolite-git-configuration-default-branch
 
             gitolite-service-type
 
@@ -330,19 +331,25 @@ 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")))
+  (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)))
 
 (define-gexp-compiler (gitolite-git-configuration-compiler
                        (config <gitolite-git-configuration>) system target)
   (match-record config <gitolite-git-configuration>
-                (name email)
+                (name email default-branch)
     (apply text-file* "gitconfig"
            `("[user]\n"
              "name  = " ,name  "\n"
-             "email = " ,email "\n"))))
+             "email = " ,email "\n"
+             ,@(if default-branch
+                   `("[init]\n"
+                     "defaultBranch = " ,default-branch "\n")
+                   '())))))
 
 (define-record-type* <gitolite-configuration>
   gitolite-configuration make-gitolite-configuration

Reply via email to