Subject: [PATCH 1/2] doc: Document cvs-fetch and cvs-reference.

From: Tomas Volf <[email-masked]>
Date: Tue, 9 Jan 2024 23:45:31 +0100

For some reason, they were missing from the documentation.  This commit adds
them including an example of usage.

* doc/guix.texi (origin Reference): Add cvs-fetch and cvs-reference.

Change-Id: I6622a9f70e6d71ed31fbb3d2689df4a6946f8868
---
 doc/guix.texi | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/doc/guix.texi b/doc/guix.texi
index a648a106b3..fde8aa12b9 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -8525,6 +8525,43 @@ origin Reference
 @end table
 @end deftp
 
+For CVS repositories, the module @code{(guix cvs-download)} defines the
+@code{cvs-fetch} origin method and @code{cvs-reference} data type for
+support of the Concurrent Versions System (CVS).
+
+@deffn {Procedure} cvs-fetch ref hash-algo hash [name]
+Return a fixed-output derivation that fetches @var{ref}, a
+@code{<cvs-reference>} object.  The output is expected to have recursive
+hash @var{hash} of type @var{hash-algo} (a symbol).  Use @var{name} as
+the file name, or a generic name if @code{#f}.
+@end deffn
+
+@deftp {Data Type} cvs-reference
+This data type represents a CVS reference for @code{cvs-fetch} to
+retrieve.
+
+@table @asis
+@item @code{root-directory}
+The CVS root directory.
+
+@item @code{module}
+Module to fetch.
+
+@item @code{revision}
+Revision to fetch.
+@end table
+
+The example below denotes a version of gnu-standards to fetch:
+
+@lisp
+(cvs-reference
+  (root-directory ":pserver:anonymous@@cvs.savannah.gnu.org:/sources/gnustandards")
+  (module "gnustandards")
+  (revision "2020-11-25"))
+@end lisp
+
+@end deftp
+
 @node Defining Package Variants
 @section Defining Package Variants
 
-- 
2.41.0