Add docs for Git
This commit is contained in:
parent
7507eb84ed
commit
0da228c5c9
@ -14,6 +14,8 @@
|
|||||||
- [Systemd](./recipes/os/systemd.md)
|
- [Systemd](./recipes/os/systemd.md)
|
||||||
- [Users](./recipes/os/users.md)
|
- [Users](./recipes/os/users.md)
|
||||||
- [Filesystem Recipes](./recipes/filesystem/index.md)
|
- [Filesystem Recipes](./recipes/filesystem/index.md)
|
||||||
|
- [Fridge Recipes](./recipes/filesystem/fridge.md)
|
||||||
|
- [Git Recipes](./recipes/filesystem/git.md)
|
||||||
- [Database Recipes](./recipes/database/index.md)
|
- [Database Recipes](./recipes/database/index.md)
|
||||||
- [Postgres](./recipes/database/postgres.md)
|
- [Postgres](./recipes/database/postgres.md)
|
||||||
- [Docker](./recipes/docker.md)
|
- [Docker](./recipes/docker.md)
|
||||||
|
40
docs/recipes/filesystem/git.md
Normal file
40
docs/recipes/filesystem/git.md
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
# Git
|
||||||
|
|
||||||
|
Git is a version control system.
|
||||||
|
|
||||||
|
| Recipe | Needs | Provides |
|
||||||
|
| -----: | ----- | -------- |
|
||||||
|
| [`git`](#git) | `directory` | `directory` `file`? `directory`? |
|
||||||
|
|
||||||
|
|
||||||
|
## `git`
|
||||||
|
|
||||||
|
Checks out a Git repository to a location on disk.
|
||||||
|
You must specify exactly one of `ref` or `branch`.
|
||||||
|
|
||||||
|
**Preconditions:** The remote repository must exist and be accessible. The specified commit, tag or branch must exist.
|
||||||
|
|
||||||
|
**Postconditions:** The repository will be checked out on disk at the specified commit.
|
||||||
|
|
||||||
|
**Provides:** `directory({dest})`, `file({dest}/{each file entry in expect})`, `directory({dest}/{each dir entry in expect})`
|
||||||
|
|
||||||
|
| Argument | Accepted Values | Default | Description |
|
||||||
|
| -------: | --------------- | ------- | ----------- |
|
||||||
|
| src | string | *required* | This is the URL to the git 'remote'. Common formats are `https://gitplace.example.org/user/repo.git` or `git@example.org:repo.git`. |
|
||||||
|
| dest | path | *required* | This is the path to the directory to check out the repository at. |
|
||||||
|
| ref | string | *semi-optional* | Commit hash or tag name to check out. |
|
||||||
|
| branch | string | *semi-optional* | Branch name to check out. The branch must exist on the remote. |
|
||||||
|
| expect | list of paths relative to repository root | *optional* | The specified files and directories will be checked for existence after the repository is checked out. Directories are indicated by a trailing `/`. The specified files/directories are provided as resources. |
|
||||||
|
| submodules | true or false | false | Whether to update submodules or not. |
|
||||||
|
| deploy_key | fridge path | *optional* | If specified, the specified SSH private key will be used to clone the Git repository. Useful in conjunction with various Git providers' (e.g. Gitea) 'Deploy keys' feature, granting read-only access to a single repository. |
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
```scoml
|
||||||
|
[[git]] Clone the abc git repository
|
||||||
|
src = "gitea@bics.ga:reivilibre/abc.git"
|
||||||
|
dest = "/home/abc/abc"
|
||||||
|
ref = "61242b97d6"
|
||||||
|
expect = ["setup.py", "abc/"]
|
||||||
|
deploy_key = "Common/gitea_deploy_key.frozen"
|
||||||
|
```
|
Loading…
Reference in New Issue
Block a user