Changes
Page history
try to map the git howto into the template
authored
May 06, 2021
by
anarcat
Show whitespace changes
Inline
Side-by-side
howto/git.md
View page @
a708cfe3
# git.torproject.org and associated services
[[
_TOC_
]]
## Overview
Our git setup consists of three interdependent services:
*
git-rw.torproject.org: ssh accessible and writeable git repositories
...
...
@@ -13,6 +7,10 @@ Our git setup consists of three interdependent services:
When a developer pushes to git-rw, the repository is mirrored to git and so
made available via the gitweb service.
[[
_TOC_
]]
# Howto
## Regular repositories
### Creating a new repository
...
...
@@ -329,7 +327,26 @@ similarly.
Note that repos can also be migrated (and archived) to GitLab, see
[
the GitLab migration procedure
](
howto/gitlab/#how-to-migrate-a-git-repository-from-legacy-to-gitlab
)
for details.
## Admin details
## Potential problems to solve
### gitweb out of sync
If vineale is down for an extended period of time, it's a good idea to trigger
a re-sync of all the repositories to ensure that the latest version is available
to clone from the anonymous endpoints.
Create an empty commit in the gitolite-admin.git repository using:
```
git commit -m "trigger resync" --allow-empty
```
and push this commit. This will run through the post-commit hook that includes
syncing everything.
# Reference
## Design
git-rw runs on
`cupani.torproject.org`
and runs as the git user. Users in the
gitolite (gid 1504) group can become the git user. The gitolite installation
...
...
@@ -362,20 +379,3 @@ and only gitolite configuration restricts further access.
Access to push to this repository is controlled by the
`gitolite-admin`
repository entry in the gitolite configuration file,
and not by LDAP groups.
## Potential problems to solve
### gitweb out of sync
If vineale is down for an extended period of time, it's a good idea to trigger
a re-sync of all the repositories to ensure that the latest version is available
to clone from the anonymous endpoints.
Create an empty commit in the gitolite-admin.git repository using:
```
git commit -m "trigger resync" --allow-empty
```
and push this commit. This will run through the post-commit hook that includes
syncing everything.