diff options
Diffstat (limited to 'doc_old')
| -rw-r--r-- | doc_old/getting-started.md | 173 | ||||
| -rw-r--r-- | doc_old/references.md | 693 |
2 files changed, 866 insertions, 0 deletions
diff --git a/doc_old/getting-started.md b/doc_old/getting-started.md new file mode 100644 index 0000000..f8cbf8a --- /dev/null +++ b/doc_old/getting-started.md @@ -0,0 +1,173 @@ +# Getting started + +This document will help you get started with SVGU. + +## Table of contents + +- [Installation](#installation) + + [From source](#compiling-from-source) + + [Pre-built binaries](#pre-built-binaries) + + [Docker](#docker) +- [Usage](#usage) + + [Configuration](#configuration) + + [Generating the HTML files](#generating-the-html-files) + + [Hosting the HTML files](#hosting-the-html-files) +- [Advanced configuration](#advanced-configuration) + +## Installation + +First, you need to install SVGU. There are several ways to do this. + +### Compiling from source + +SVGU is a Go program, and can be installed quickly using `go install`: + +```shell +# Change "latest" to the Git ref you want to install. +$ go install go.nc0.fr/svgu/cmd/svgu@latest +``` + +> Note: SVGU requires Go 1.16 or later. + +### Pre-built binaries + +TODO(nc0): Add pre-built binaries and pkg for various platforms. + +### Docker + +TODO(nc0): Add Docker image. + +## Usage + +SVGU is a command-line tool that, given a configuration file, will generate +a set of HTML 5 documents ready to be served by any web server. + +### Configuration + +The configuration file is a [Starlark][starlark] script that registers the +various modules to publish under a domain. + +Starlark is a dialect of Python, and is very easy to learn. The reference +documentation is available [here][starlark]. + +In addition to the standard Starlark specification, SVGU provides a set of +utility functions to make it easier to write configuration files. +The documentation for these functions is available [here](references.md). + +To get started, you need to create a file named `DOMAINS.star` in the directory +of your choice. This file will contain the configuration for your website. + +> Note: The name of the file is not important, by default SVGU will look for +> a file named `DOMAINS.star` in the current directory. You can specify a +> different file using the `-c` flag. + +In this file, you need to create an index (a set of modules on a domain) and +registers various modules to it. For example, let's say you want to publish +the module `foo` on the domain `example.com`. You would write the following: + +```starlark +# DOMAINS.star +index(domain = "example.com") + +module( + name = "foo", + vcs = "git", + repo = "https://github.com/example/foo.git", + dir = "https://github.com/example/foo.git/tree/master{/dir}", + file = "https://github.com/example/foo.git/blog/master{/dir}/{file}#L{line}", +) +``` + +This may look a bit complicated, but it's actually quite simple. Let's break +it down: + +- `index(domain = "example.com")` creates an index—a set of modules—on the + domain `example.com`. The domain is used to generate the URLs for the + modules, e.g. `example.com/foo`. +- `module(name = "foo", ...)` registers a module named `foo` on the index. + The `name` argument is the name of the module, and is used to generate + the URLs for the module, e.g. `example.com/foo`. +- `vcs = "git"` tells SVGU that the module is hosted on a Git repository. +- `repo = "..."` is the URL of the Git repository. +- `dir = "..."` and `file = "..."` are URL templates for + [pkg.go.dev](https://pkg.go.dev). They are used to allow automatic + documentation. You can read more about them in the + [reference](references.md#module). + +You can add as many modules as you want to an index. For example, let's say +you want to add the module `bar` hosted on a Mercurial repository: + +```starlark +module( + name = "bar", + vcs = "hg", + repo = "https://example.com/bar", + dir = "https://example.com/bar/file/tip{/dir}", + file = "https://example.com/bar/file/tip{/dir}/{file}#L{line}", +) +``` + +### Generating the HTML files + +When you're done, you can run SVGU to generate the HTML files: + +```shell +$ svgu +``` + +This will generate a directory named `out` containing the HTML files. You can +then serve this directory using any web server. +If you used another name for the configuration file, you can specify it using +the `-c` flag. +You can also change the output directory using the `-o` flag. +And lastly, the `-v` flag can be used to print more information. + +### Hosting the HTML files + +Once you have the generated HTML documents inside the output directory +*(by default it is `dst`)*, you can upload them to your web server. + +The target web server does not need to be configured in any special way, +we only require that it supports URL rewriting (as most web servers do) +to remove the `.html` extension from the URLs. +This is sometimes called [clean URLs](https://en.wikipedia.org/wiki/Clean_URL) +or "Pretty URLs". + +Here is a non-exhaustive list of web servers that support URL rewriting: + +- [Apache HTTPD](https://httpd.apache.org/docs/current/rewrite/remapping.html) +- [Caddy](https://caddyserver.com/docs/caddyfile/directives/rewrite) +- Cloudflare Pages does it automatically +- [NGINX](https://www.nginx.com/blog/creating-nginx-rewrite-rules/) +- [GitHub Pages](https://pages.github.com/) does it by default +- ... + +## Advanced configuration + +As you can see, the configuration file is very simple. However, it is also +a bit boilerplate-heavy, especially with the template URLs for `dir` and +`file`. + +To avoid this, SVGU provides a set of utility libraries that can be imported +via the `load()` function. For example, the previous configuration can be +shortened to: + +```starlark +load("@svgu/git.star", "git") + +index(domain = "example.com") + +git.github( + name = "foo", + user = "example", + repo = "foo", + branch = "master", +) + +... +``` + +You can read more about the utility libraries in the [reference](references.md). +Those can help when writing long configuration files. + +[starlark]: https://github.com/bazelbuild/starlark diff --git a/doc_old/references.md b/doc_old/references.md new file mode 100644 index 0000000..ab16245 --- /dev/null +++ b/doc_old/references.md @@ -0,0 +1,693 @@ +# References + +This document contains a list of references and resources related to SVGU's +Starlark environment. + +The sources for the environment are located inside the +[pkg/config](../pkg/config) directory, especially the +[lib](../pkg/config/lib) package. + +## Starlark + +[Starlark][starlark-link] is a dialect of Python designed for use as a +configuration language. It is simple, safe, and expressive. +Originally called Skylark, Starlark is commonly used with +[Bazel][bazel-link]-like build systems, but it is not tied to any +particular tool or project. + +SVGU's Starlark environment is based on the +[Starlark Go][starlark-go] implementation open sourced by Google. + +## Table of Contents + +- [Prelude](#prelude) + + [index](#index) + + [module](#module) +- [Bazaar](#bazaar) + + [bzr.BAZAAR](#bzrbazaar) + + [bzr.LAUNCHPAD_DEFAULT_INSTANCE](#bzrlaunchpad_default_instance) + + [bzr.LAUNCHPAD_DEFAULT_REV](#bzrlaunchpad_default_rev) + + [brz.LAUNCHPAD_DEFAULT_BRANCH](#brzlaunchpad_default_branch) + + [bzr.launchpad](#bzrlaunchpad) +- [Fossil](#fossil) + + [fossil.FOSSIL](#fossilfossil) +- [Git](#git) + + [git.GIT](#gitgit) + + [git.GITHUB_DEFAULT_INSTANCE](#gitgithub_default_instance) + + [git.GITHUB_DEFAULT_REF](#gitgithub_default_ref) + + [git.SOURCEHUT_DEFAULT_INSTANCE](#gitsourcehut_default_instance) + + [git.SOURCEHUT_DEFAULT_REF](#gitsourcehut_default_ref) + + [git.GITLAB_DEFAULT_INSTANCE](#gitgitlab_default_instance) + + [git.GITLAB_DEFAULT_REF](#gitgitlab_default_ref) + + [git.BITBUCKET_DEFAULT_INSTANCE](#gitbitbucket_default_instance) + + [git.BITBUCKET_DEFAULT_REF](#gitbitbucket_default_ref) + + [git.GITILES_DEFAULT_REF](#gitgitiles_default_ref) + + [git.github](#gitgithub) + + [git.sourcehut](#gitsourcehut) + + [git.gitlab](#gitgitlab) + + [git.bitbucket](#gitbitbucket) + + [git.gitiles](#gitgitiles) +- [Mercurial](#mercurial) + + [hg.MERCURIAL](#hgmercurial) + + [hg.SOURCEHUT_DEFAULT_INSTANCE](#hgsourcehut_default_instance) + + [hg.SOURCEHUT_DEFAULT_REV](#hgsourcehut_default_rev) + + [hg.sourcehut](#hgsourcehut) +- [Subversion](#subversion) + + [svn.SUBVERSION](#svnsubversion) + +## Prelude + +The [prelude](../pkg/config/lib/prelude/prelude.go) module contains a set of +built-in functions. + +These functions are the only required symbols to use SVGU in the configuration +file. + +Additional functions are helpers that can be used to simplify the configuration +file. For instance, [git.github](#gitgithub) will automatically construct the +template URLs for `dir` and `file` based on the repository's home URL. + +### index + +Initialize the index of module. +Should be called before any [module](#module) operations. + +`index(domain)` + +#### Parameters + +| Name | Type | Description | +|----------|----------|-----------------------------------------------------------| +| `domain` | `string` | The domain name of the repository, e.g. `go.example.com`. | + +#### Example + +```starlark +index(domain = "go.example.com") + +# ... +``` + +### module + +Register a module in the index. +Note that you cannot register multiple modules with the same name. + +> A module name cannot be empty, `.`, `..`, `\`, `/`, `:`, `*`, `?`, `"`, `<`, +> `>`, `|`, or any ASCII control character (i.e. `\x00` through `\x1f`). +> This is required to avoid problems with file systems. +> +> The module name cannot also be simply `index`. This is a limitation of the +> tool since it generates a file named `index.html` in the root of the output +> directory. +> +> To see the full list of reserved names, see the +> [invalidName](https://git.sr.ht/~n1c00o/svgu/tree/master/item/pkg/config/lib/prelude/prelude.go#L11) +> variable. + +#### Parameters + +| Name | Type | Description | +|--------|----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `name` | `string` | The name of the module. | +| `vcs` | `string` | The name of the Version Control System (VCS) used by the module. It should be one of `"bzr"`, `"fossil"`, `"git"`, `"hg"`, or `"svn"`. | +| `repo` | `string` | The URL of the repository's home, e.g. `https://src.example.com/foo`. | +| `dir` | `string` | A template URL to a page listing the various files inside a directory, e.g. `https://src.example.com/foo/tree/master{/dir}`. See the [go-source][go-source-tag] meta tag's documentation for more information about substitution variables. | +| `file` | `string` | A template URL to a page listing the lines inside a Go file, e.g. `https://src.example.com/foo/tree/master{/dir}/{file}#L{line}`. See the [go-source][go-source-tag] meta tag's documentation for more information about substitution variables. | + +#### Example + +```starlark +index(domain = "go.example.com") + +# Will be available as `go.example.com/foo`. +module( + name = "foo", + vcs = "git", + repo = "https://src.example.com/foo", + dir = "https://src.example.com/foo/tree/master{/dir}", + file = "https://src.example.com/foo/tree/master{/dir}/{file}#L{line}", +) + +# Will be available as `go.example.com/bar/baz`. +module( + name = "bar/baz", + vcs = "svn", + repo = "https://src.example.com/bar/baz", + dir = "https://src.example.com/bar/baz{/dir}", + file = "https://src.example.com/bar/baz{/dir}/{file}#L{line}", +) +``` + +## Bazaar + +The [bzr](../pkg/config/lib/bzr/bzr.star) (Bazaar) module contains a set +of utilities to work with modules hosted on +[GNU Bazaar][bzr-link] repositories. + +The module can be imported inside your configuration file by adding the +following code at the beginning of the file: + +```starlark +load("@svgu/bzr", "bzr") +``` + +### bzr.BAZAAR + +`"bzr"` \ +A constant containing the name of the VCS as required by the +[`module`](#module) function. + +#### Example + +```starlark +module( + ... + vcs = bzr.BAZAAR, +) +``` + +### bzr.LAUNCHPAD_DEFAULT_INSTANCE + +`"https://bazaar.launchpad.net` \ +A constant containing the default instance of the +[Launchpad Bazaar hosting][launchpad-bzr-link] service. + +### bzr.LAUNCHPAD_DEFAULT_REV + +`"head:"` \ +A constant containing the default revision number to use when the repository +is hosted on [Launchpad Bazaar hosting][launchpad-bzr-link] service. + +### bzr.LAUNCHPAD_DEFAULT_BRANCH + +`"trunk"` \ +A constant containing the default branch name to use when the repository +is hosted on [Launchpad Bazaar hosting][launchpad-bzr-link] service. + +### bzr.launchpad + +A macro that registers a module hosted on +[Launchpad Bazaar hosting][launchpad-bzr-link] service. + +#### Parameters + +| Name | Type | Description | +|------------|----------|-------------------------------------------------------------------------------------------------------------------| +| `name` | `string` | The name of the module. | +| `user` | `string` | The name of the user or organization that owns the repository. | +| `repo` | `string` | The name of the repository. | +| `branch` | `string` | The name of the branch. Defaults to [`bzr.LAUNCHPAD_DEFAULT_BRANCH`](#bzrlaunchpad_default_branch) | +| `rev` | `string` | The revision number. Defaults to [`bzr.LAUNCHPAD_DEFAULT_REV`](#bzrlaunchpad_default_rev) | +| `instance` | `string` | The URL of the Launchpad instance. Defaults to [`bzr.LAUNCHPAD_DEFAULT_INSTANCE`](#bzrlaunchpad_default_instance) | + +#### Example + +```starlark +load("@svgu/bzr", "bzr") + +index(domain = "go.example.com") + +# Will be available as `go.example.com/foo`. + +bzr.launchpad( + name = "foo", + user = "bar", + repo = "foo", +) +``` + +## Fossil + +The [fossil](../pkg/config/lib/fossil/fossil.star) module contains a set +of utilities to work with modules hosted on +[Fossil][fossil-link] repositories. + +The module can be imported inside your configuration file by adding the +following code at the beginning of the file: + +```starlark +load("@svgu/fossil", "fossil") +``` + +### fossil.FOSSIL + +`"fossil"` \ +A constant containing the name of the VCS as required by the +[`module`](#module) function. + +#### Example + +```starlark +module( + ... + vcs = fossil.FOSSIL, +) +``` + +## Git + +The [git](../pkg/config/lib/git/git.star) module contains a set of utilities +to work with modules hosted on [Git][git-link] repositories. + +The module can be imported inside your configuration file by adding the +following code at the beginning of the file: + +```starlark +load("@svgu/git", "git") +``` + +### git.GIT + +`"git"` \ +A constant containing the name of the VCS as required by the +[`module`](#module) function. + +#### Example + +```starlark +module( + ... + vcs = git.GIT, +) +``` + +### git.GITHUB_DEFAULT_INSTANCE + +`"https://github.com"` \ +A constant containing the default GitHub instance to use when the repository +is hosted on [GitHub][github-link]. + +### git.GITHUB_DEFAULT_REF + +`"main"` \ +A constant containing the default Git reference to use when the repository is +hosted on [GitHub][github-link]. + +See [GitHub's decision to rename master to main](https://github.com/github/renaming). + +### git.SOURCEHUT_DEFAULT_INSTANCE + +`"https://git.sr.ht"` \ +A constant containing the default SourceHut instance to use when the repository +is hosted on [Source Hut's Git hosting][sourcehut-git-link]. + +### git.SOURCEHUT_DEFAULT_REF + +`"master"` \ +A constant containing the default Git reference to use when the repository is +hosted on [Source Hut's Git hosting][sourcehut-git-link]. + +### git.GITLAB_DEFAULT_INSTANCE + +`"https://gitlab.com"` \ +A constant containing the default GitLab instance to use when the repository +is hosted on [GitLab][gitlab-link]. + +### git.GITLAB_DEFAULT_REF + +`"main"` \ +A constant containing the default Git reference to use when the repository is +hosted on [GitLab][gitlab-link]. + +See [GitLab's renaming from master to main announcement](https://about.gitlab.com/blog/2021/03/10/new-git-default-branch-name/). + +### git.BITBUCKET_DEFAULT_INSTANCE + +`"https://bitbucket.org"` \ +A constant containing the default Bitbucket instance to use when the repository +is hosted on [Bitbucket][bitbucket-link]. + +### git.BITBUCKET_DEFAULT_REF + +`"master"` \ +A constant containing the default Git reference to use when the repository is +hosted on [Bitbucket][bitbucket-link]. + +### git.GITILES_DEFAULT_REF + +`"master"` \ +A constant containing the default Git reference to use when the repository is +hosted on [Gitiles][gitiles-link] ([Gerrit][gerrit-link] with a Gitiles +front-end). + +### git.github + +A macro that registers a module hosted on [GitHub][github-link]. + +#### Parameters + +| Name | Type | Description | +|------------|----------|------------------------------------------------------------------------------------------------------| +| `name` | `string` | The name of the module. | +| `user` | `string` | The GitHub user or organization name. | +| `repo` | `string` | The GitHub repository name. | +| `ref` | `string` | The Git reference to use. Default to [`git.GITHUB_DEFAULT_REF`](#gitgithub_default_ref). | +| `instance` | `string` | The GitHub instance to use. Default to [`git.GITHUB_DEFAULT_INSTANCE`](#gitgithub_default_instance). | + +#### Example + +```starlark +load("@svgu/git", "git") + +index(domain = "go.example.com") + +# By default, the function assumes that the repository is hosted on +# https://github.com and the reference is `main`. +git.github( + name = "foo", + user = "example", + repo = "foo", +) + +# You can override the default reference and instance. +git.github( + name = "bar", + user = "example", + repo = "bar", + ref = "trunk", + instance = "https://github.example.com", +) +``` + +### git.gitlab + +A macro that registers a module hosted on [GitLab][gitlab-link]. + +#### Parameters + +| Name | Type | Description | +|------------|----------|------------------------------------------------------------------------------------------------------| +| `name` | `string` | The name of the module. | +| `user` | `string` | The GitLab user or organization name. | +| `repo` | `string` | The GitLab repository name. | +| `ref` | `string` | The Git reference to use. Default to [`git.GITLAB_DEFAULT_REF`](#gitgitlab_default_ref). | +| `instance` | `string` | The GitLab instance to use. Default to [`git.GITLAB_DEFAULT_INSTANCE`](#gitgitlab_default_instance). | + +#### Example + +```starlark +load("@svgu/git", "git") + +index(domain = "go.example.com") + +# By default, the function assumes that the repository is hosted on +# https://gitlab.com and the reference is `main`. +git.gitlab( + name = "foo", + user = "example", + repo = "foo", +) + +# You can override the default reference and instance. +git.gitlab( + name = "bar", + user = "example", + repo = "bar", + ref = "master", + instance = "https://gitlab.example.com", +) +``` + +### git.sourcehut + +A macro that registers a module hosted on +[Source Hut's Git hosting][sourcehut-git-link]. + +> Note: Source Hut's Git hosting is still in beta. Organization support is +> not yet available. + +#### Parameters + +| Name | Type | Description | +|------------|----------|----------------------------------------------------------------------------------------------------------------| +| `name` | `string` | The name of the module. | +| `user` | `string` | The Source Hut user name. | +| `repo` | `string` | The Source Hut repository name. | +| `ref` | `string` | The Git reference to use. Default to [`git.SOURCEHUT_DEFAULT_REF`](#gitsourcehut_default_ref). | +| `instance` | `string` | The Source Hut instance to use. Default to [`git.SOURCEHUT_DEFAULT_INSTANCE`](#gitsourcehut_default_instance). | + +#### Example + +```starlark +load("@svgu/git", "git") + +index(domain = "go.example.com") + +# By default, the function assumes that the repository is hosted on +# https://git.sr.ht and the reference is `master`. + +git.sourcehut( + name = "foo", + user = "example", + repo = "foo", +) + +# You can override the default reference and instance. +git.sourcehut( + name = "bar", + user = "example", + repo = "bar", + ref = "main", + instance = "https://git.srht.example.com", +) +``` + +### git.bitbucket + +A macro that registers a module hosted on [Bitbucket][bitbucket-link]. + +It is likely that you want to override the default instance to include your +user in the URL. +To do so, you can use the `instance` parameter: + +```starlark +git.bitbucket( + ... + instance = "https://user@bitbucket.org/example", +) +``` + +As always, your mileage may vary. + +#### Parameters + +| Name | Type | Description | +|-------------|----------|---------------------------------------------------------------------------------------------------------------| +| `name` | `string` | The name of the module. | +| `workspace` | `string` | The Bitbucket workspace ID. | +| `repo` | `string` | The Bitbucket repository name. | +| `ref` | `string` | The Git reference to use. Default to [`git.BITBUCKET_DEFAULT_REF`](#gitbitbucket_default_ref). | +| `instance` | `string` | The Bitbucket instance to use. Default to [`git.BITBUCKET_DEFAULT_INSTANCE`](#gitbitbucket_default_instance). | + +#### Example + +```starlark +load("@svgu/git", "git") + +index(domain = "go.example.com") + +# By default, the function assumes that the repository is hosted on +# https://bitbucket.org and the reference is `master`. + +git.bitbucket( + name = "foo", + workspace = "example", + repo = "foo", +) + +# You can override the default reference and instance. +git.bitbucket( + name = "bar", + workspace = "example", + repo = "bar", + ref = "main", + instance = "https://bitbucket.example.com", +) +``` + +### git.gitiles + +A macro that registers a module hosted on [Gitiles][gitiles-link] +([Gerrit][gerrit-link] with Gitiles front-end). + +> Note: This is not a complete macro as I lack experience with Gerrit. +> Feel free to open a pull request if you want to improve it. + +#### Parameters + +| Name | Type | Description | +|------------|----------|---------------------------------------------------------------------------------------------| +| `name` | `string` | The name of the module. | +| `instance` | `string` | The Gitiles instance to use. | +| `repo` | `string` | The Gitiles repository path. | +| `ref` | `string` | The Git reference to use. Defaults to [`git.GITILES_DEFAULT_REF`](#gitgitiles_default_ref). | + +#### Example + +```starlark +load("@svgu/git", "git") + +index(domain = "go.example.com") + +# By default, the function assumes that the used reference is `master`. +git.gitiles( + name = "go", + instance = "https://go.googlesource.com", + repo = "go", +) + +# You can override the default reference. +git.gitiles( + name = "go", + instance = "https://go.googlesource.com", + repo = "go", + ref = "release-branch.go1.17", +) +``` + +## Mercurial + +The [hg](../pkg/config/lib/hg/hg.star) (Mercurial) module contains a set +of utilities to work with modules hosted on +[Mercurial][hg-link] repositories. + +The module can be imported inside your configuration file by adding the +following code at the beginning of the file: + +```starlark +load("@svgu/hg", "hg") +``` + +### hg.MERCURIAL + +`"hg"` \ +A constant containing the name of the VCS as required by the +[`module`](#module) function. + +#### Example + +```starlark +module( + ... + vcs = hg.MERCURIAL, +) +``` + +### hg.SOURCEHUT_DEFAULT_INSTANCE + +`"https://hg.sr.ht"` \ +A constant containing the default instance to use when the repository is hosted +on [Source Hut Mercurial][sourcehut-hg-link] hosting. + +### hg.SOURCEHUT_DEFAULT_REV + +`"tip"` \ +A constant containing the default revision (branch, ...) to use when the +repository is hosted on [Source Hut Mercurial][sourcehut-hg-link] hosting. + +### hg.sourcehut + +A macro that registers a module hosted on +[Source Hut Mercurial][sourcehut-hg-link] hosting. + +> Note: Source Hut's Mercurial hosting is still in beta. Organization support +> is not yet available. + +#### Parameters + +| Name | Type | Description | +|------------|----------|--------------------------------------------------------------------------------------------------------------| +| `name` | `string` | The name of the module. | +| `user` | `string` | The Source Hut user. | +| `repo` | `string` | The Source Hut repository name. | +| `instance` | `string` | The Source Hut instance to use. Default to [`hg.SOURCEHUT_DEFAULT_INSTANCE`](#hgsourcehut_default_instance). | +| `rev` | `string` | The revision (branch, ...) to use. Default to [`hg.SOURCEHUT_DEFAULT_REV`](#hgsourcehut_default_rev). | + +#### Example + +```starlark +load("@svgu/hg", "hg") + +index(domain = "go.example.com") + +# By default, the function assumes that the repository is hosted on +# https://hg.sr.ht and the revision is `tip`. + +hg.sourcehut( + name = "foo", + user = "example", + repo = "foo", +) + +# You can override the default revision and instance. +hg.sourcehut( + name = "bar", + user = "example", + repo = "bar", + rev = "default", + instance = "https://hg.example.com", +) +``` + +## Subversion + +The [svn](../pkg/config/lib/svn/svn.star) (Subversion) module contains +a set of utilities to work with modules hosted on +[Apache Subversion][svn-link] repositories. + +The module can be imported inside your configuration file by adding the +following code at the beginning of the file: + +```starlark +load("@svgu/svn", "svn") +``` + +### svn.SUBVERSION + +`"svn"` \ +A constant containing the name of the VCS as required by the +[`module`](#module) function. + +#### Example + +```starlark +module( + ... + vcs = svn.SUBVERSION, +) +``` + +[svn-link]: https://subversion.apache.org/ + +[hg-link]: https://www.mercurial-scm.org/ + +[git-link]: https://git-scm.com/ + +[fossil-link]: https://www.fossil-scm.org/ + +[bzr-link]: https://bazaar.canonical.com/ + +[bitbucket-link]: https://bitbucket.org + +[github-link]: https://github.com/about + +[sourcehut-git-link]: https://man.sr.ht/git.sr.ht/ + +[gitlab-link]: https://about.gitlab.com + +[gitiles-link]: https://gerrit.googlesource.com/gitiles/ + +[gerrit-link]: https://www.gerritcodereview.com/ + +[go-source-tag]: https://github.com/golang/gddo/wiki/Source-Code-Links + +[starlark-link]: https://github.com/bazelbuild/starlark + +[starlark-go]: https://github.com/google/starlark-go + +[bazel-link]: https://bazel.build/ + +[launchpad-bzr-link]: https://launchpad.net/bzr + +[sourcehut-hg-link]: https://hg.sr.ht/ |
