doc: Create "Version Control Services" section.
* doc/guix.texi (Version Control Services): Move to its own node. Signed-off-by: Ludovic Courtès <ludo@gnu.org>master
parent
1115f14017
commit
05f1cb3cda
124
doc/guix.texi
124
doc/guix.texi
|
@ -244,6 +244,7 @@ Services
|
||||||
* Power management Services:: The TLP tool.
|
* Power management Services:: The TLP tool.
|
||||||
* Audio Services:: The MPD.
|
* Audio Services:: The MPD.
|
||||||
* Virtualization Services:: Virtualization services.
|
* Virtualization Services:: Virtualization services.
|
||||||
|
* Version Control Services:: Providing remote access to Git repositories.
|
||||||
* Miscellaneous Services:: Other services.
|
* Miscellaneous Services:: Other services.
|
||||||
|
|
||||||
Defining Services
|
Defining Services
|
||||||
|
@ -9403,6 +9404,7 @@ declaration.
|
||||||
* Power management Services:: The TLP tool.
|
* Power management Services:: The TLP tool.
|
||||||
* Audio Services:: The MPD.
|
* Audio Services:: The MPD.
|
||||||
* Virtualization Services:: Virtualization services.
|
* Virtualization Services:: Virtualization services.
|
||||||
|
* Version Control Services:: Providing remote access to Git repositories.
|
||||||
* Miscellaneous Services:: Other services.
|
* Miscellaneous Services:: Other services.
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
|
@ -17430,6 +17432,68 @@ Defaults to @samp{3}
|
||||||
@end deftypevr
|
@end deftypevr
|
||||||
|
|
||||||
|
|
||||||
|
@node Version Control Services
|
||||||
|
@subsubsection Version Control Services
|
||||||
|
|
||||||
|
The @code{(gnu services version-control)} module provides a service to
|
||||||
|
allow remote access to local Git repositories.
|
||||||
|
|
||||||
|
@deffn {Scheme Procedure} git-daemon-service [#:config (git-daemon-configuration)]
|
||||||
|
|
||||||
|
Return a service that runs @command{git daemon}, a simple TCP server to
|
||||||
|
expose repositories over the Git protocol for anonymous access.
|
||||||
|
|
||||||
|
The optional @var{config} argument should be a
|
||||||
|
@code{<git-daemon-configuration>} object, by default it allows read-only
|
||||||
|
access to exported@footnote{By creating the magic file
|
||||||
|
"git-daemon-export-ok" in the repository directory.} repositories under
|
||||||
|
@file{/srv/git}.
|
||||||
|
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
@deftp {Data Type} git-daemon-configuration
|
||||||
|
Data type representing the configuration for @code{git-daemon-service}.
|
||||||
|
|
||||||
|
@table @asis
|
||||||
|
@item @code{package} (default: @var{git})
|
||||||
|
Package object of the Git distributed version control system.
|
||||||
|
|
||||||
|
@item @code{export-all?} (default: @var{#f})
|
||||||
|
Whether to allow access for all Git repositories, even if they do not
|
||||||
|
have the @file{git-daemon-export-ok} file.
|
||||||
|
|
||||||
|
@item @code{base-path} (default: @file{/srv/git})
|
||||||
|
Whether to remap all the path requests as relative to the given path.
|
||||||
|
If you run git daemon with @var{(base-path "/srv/git")} on example.com,
|
||||||
|
then if you later try to pull @code{git://example.com/hello.git}, git
|
||||||
|
daemon will interpret the path as @code{/srv/git/hello.git}.
|
||||||
|
|
||||||
|
@item @code{user-path} (default: @var{#f})
|
||||||
|
Whether to allow @code{~user} notation to be used in requests. When
|
||||||
|
specified with empty string, requests to @code{git://host/~alice/foo} is
|
||||||
|
taken as a request to access @code{foo} repository in the home directory
|
||||||
|
of user @code{alice}. If @var{(user-path "path")} is specified, the
|
||||||
|
same request is taken as a request to access @code{path/foo} repository
|
||||||
|
in the home directory of user @code{alice}.
|
||||||
|
|
||||||
|
@item @code{listen} (default: @var{'()})
|
||||||
|
Whether to listen on specific IP addresses or hostnames, defaults to
|
||||||
|
all.
|
||||||
|
|
||||||
|
@item @code{port} (default: @var{#f})
|
||||||
|
Whether to listen on an alternative port, which defaults to 9418.
|
||||||
|
|
||||||
|
@item @code{whitelist} (default: @var{'()})
|
||||||
|
If not empty, only allow access to this list of directories.
|
||||||
|
|
||||||
|
@item @code{extra-options} (default: @var{'()})
|
||||||
|
Extra options will be passed to @code{git daemon}, please run
|
||||||
|
@command{man git-daemon} for more information.
|
||||||
|
|
||||||
|
@end table
|
||||||
|
@end deftp
|
||||||
|
|
||||||
|
|
||||||
@node Miscellaneous Services
|
@node Miscellaneous Services
|
||||||
@subsubsection Miscellaneous Services
|
@subsubsection Miscellaneous Services
|
||||||
|
|
||||||
|
@ -17591,66 +17655,6 @@ The following is an example @code{dicod-service} configuration.
|
||||||
%dicod-database:gcide))))
|
%dicod-database:gcide))))
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@subsubsection Version Control
|
|
||||||
|
|
||||||
The @code{(gnu services version-control)} module provides the following services:
|
|
||||||
|
|
||||||
@subsubheading Git daemon service
|
|
||||||
|
|
||||||
@deffn {Scheme Procedure} git-daemon-service [#:config (git-daemon-configuration)]
|
|
||||||
|
|
||||||
Return a service that runs @command{git daemon}, a simple TCP server to
|
|
||||||
expose repositories over the Git protocol for anonymous access.
|
|
||||||
|
|
||||||
The optional @var{config} argument should be a
|
|
||||||
@code{<git-daemon-configuration>} object, by default it allows read-only
|
|
||||||
access to exported@footnote{By creating the magic file
|
|
||||||
"git-daemon-export-ok" in the repository directory.} repositories under
|
|
||||||
@file{/srv/git}.
|
|
||||||
|
|
||||||
@end deffn
|
|
||||||
|
|
||||||
@deftp {Data Type} git-daemon-configuration
|
|
||||||
Data type representing the configuration for @code{git-daemon-service}.
|
|
||||||
|
|
||||||
@table @asis
|
|
||||||
@item @code{package} (default: @var{git})
|
|
||||||
Package object of the Git distributed version control system.
|
|
||||||
|
|
||||||
@item @code{export-all?} (default: @var{#f})
|
|
||||||
Whether to allow access for all Git repositories, even if they do not
|
|
||||||
have the @file{git-daemon-export-ok} file.
|
|
||||||
|
|
||||||
@item @code{base-path} (default: @file{/srv/git})
|
|
||||||
Whether to remap all the path requests as relative to the given path.
|
|
||||||
If you run git daemon with @var{(base-path "/srv/git")} on example.com,
|
|
||||||
then if you later try to pull @code{git://example.com/hello.git}, git
|
|
||||||
daemon will interpret the path as @code{/srv/git/hello.git}.
|
|
||||||
|
|
||||||
@item @code{user-path} (default: @var{#f})
|
|
||||||
Whether to allow @code{~user} notation to be used in requests. When
|
|
||||||
specified with empty string, requests to @code{git://host/~alice/foo} is
|
|
||||||
taken as a request to access @code{foo} repository in the home directory
|
|
||||||
of user @code{alice}. If @var{(user-path "path")} is specified, the
|
|
||||||
same request is taken as a request to access @code{path/foo} repository
|
|
||||||
in the home directory of user @code{alice}.
|
|
||||||
|
|
||||||
@item @code{listen} (default: @var{'()})
|
|
||||||
Whether to listen on specific IP addresses or hostnames, defaults to
|
|
||||||
all.
|
|
||||||
|
|
||||||
@item @code{port} (default: @var{#f})
|
|
||||||
Whether to listen on an alternative port, which defaults to 9418.
|
|
||||||
|
|
||||||
@item @code{whitelist} (default: @var{'()})
|
|
||||||
If not empty, only allow access to this list of directories.
|
|
||||||
|
|
||||||
@item @code{extra-options} (default: @var{'()})
|
|
||||||
Extra options will be passed to @code{git daemon}, please run
|
|
||||||
@command{man git-daemon} for more information.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
@end deftp
|
|
||||||
|
|
||||||
@subsubheading Cgit Service
|
@subsubheading Cgit Service
|
||||||
|
|
||||||
|
|
Reference in New Issue