Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Read <eread@gitlab.com>2022-10-24 09:27:03 +0300
committerEvan Read <eread@gitlab.com>2022-10-24 09:28:36 +0300
commit90964186c61d5c2b93a744944666461fc2fab190 (patch)
tree66a968633d9bf48e29efc3b3a6764dfe85e044f7 /doc/serverside_git_usage.md
parenta09e2b67f58008784e7384c34a8031a839a4fd8d (diff)
Complete fix of Markdownlint violations in the docs
Diffstat (limited to 'doc/serverside_git_usage.md')
-rw-r--r--doc/serverside_git_usage.md15
1 files changed, 8 insertions, 7 deletions
diff --git a/doc/serverside_git_usage.md b/doc/serverside_git_usage.md
index 4826fc610..889dc0035 100644
--- a/doc/serverside_git_usage.md
+++ b/doc/serverside_git_usage.md
@@ -1,14 +1,15 @@
-## Server side Git usage
+# Server side Git usage
Gitaly uses three implementations to read and write to Git repositories:
+
1. `git(1)` - The same Git used by clients all over the world
1. [LibGit2](https://github.com/libgit2/libgit2) - a linkable library used through Rugged and Git2Go
1. On ad-hoc basis, part of Git is implemented in this repository if the
implementation is easy and stable. For example the [pktline](../internal/git/pktline) package.
-### Using Git
+## Using Git
-#### Plumbing v.s. porcelain
+### Plumbing v.s. porcelain
`git(1)` is the default choice to access repositories for Gitaly. Not all
commands that are available should be used in the Gitaly code base.
@@ -20,18 +21,18 @@ are intended for scripted use or to build another porcelain.
Generally speaking, Gitaly should only use plumbing commands. `man 1
git` contains a section on the low level plumbing. However, a lot of
-git's plumbing-like functionality is exposed as commands not marked as
+Git's plumbing-like functionality is exposed as commands not marked as
plumbing, but whose API reliability can be considered the
same. E.g. `git log`'s `--pretty=` formats, `git config -l -z`, the
documented exit codes of `git remote` etc..
We should use good judgement when choosing what commands and command
-functionality to use, with the aim of not having gitaly break due to
+functionality to use, with the aim of not having Gitaly break due to
e.g. an error message being rephrased or functionality the upstream
`git` maintainers don't consider plumbing-like being removed or
altered.
-#### Executing Git commands
+### Executing Git commands
When executing Git, developers should always use the `git.CommandFactory` and sibling
interfaces. These make sure Gitaly is protected against command injection, the
@@ -39,7 +40,7 @@ correct `git` is used, and correct setup for observable command invocations are
used. When working with `git(1)` in Ruby, please be sure to read the
[Ruby shell scripting guide](https://docs.gitlab.com/ee/development/shell_commands.html).
-### Using LibGit2
+## Using LibGit2
Gitaly uses [Git2Go](https://github.com/libgit2/git2go) for Golang, and
[Rugged](https://github.com/libgit2/rugged) which both are thin adapters to call