Contributing with Gerrit
All Euodos code and this wiki are versioned in Git and reviewed with Gerrit. There are no pull requests: every change is a patch set submitted for review.
Setup (once)
Section titled “Setup (once)”-
Create a Gerrit account and add your SSH key under Settings → SSH keys.
-
Clone the repository:
Terminal window git clone "ssh://<username>@gerrit.example.org:29418/euodos-wiki"cd euodos-wiki -
Install the
commit-msghook, which automatically adds aChange-Idto every commit:Terminal window gitdir=$(git rev-parse --git-dir)scp -p -P 29418 <username>@gerrit.example.org:hooks/commit-msg "${gitdir}/hooks/" -
(Optional) Install
git-reviewto simplify pushing.
Propose a change
Section titled “Propose a change”-
Create a local branch from
main:Terminal window git checkout -b my-change origin/main -
Edit the files, then commit:
Terminal window git commit -aFollow the commit conventions.
-
Send the change for review:
Terminal window git push origin HEAD:refs/for/main# or, with git-review:git review -
Gerrit prints the change URL. Reviewers comment on it and vote.
-
To address feedback, amend the commit and push again:
Terminal window git commit -a --amend --no-editgit push origin HEAD:refs/for/mainThe same
Change-Idcreates a new patch set on the same change.
Review and merge
Section titled “Review and merge”| Vote | Meaning |
|---|---|
Code-Review +2 |
Approved by a maintainer |
Code-Review +1 |
Looks good, but cannot merge |
Code-Review -1 |
Changes requested |
Verified +1 |
CI (wiki build) passed |
A maintainer clicks Submit once the change has Code-Review +2 and Verified +1.
Wiki repository layout
Section titled “Wiki repository layout”Directorysrc
Directorycontent
Directorydocs
Directoryen
- overview
- installation
- devices
- usage
- development
- reference
- brand
Directoryfr
- overview
- …
Directorystyles
- custom.css
- assets
- astro.config.mjs
- package.json
English pages live in docs/en/, French translations in docs/fr/, with the same tree.
Preview the wiki
Section titled “Preview the wiki”npm installnpm run devThe site is then available at http://localhost:4321. Check the build before pushing:
npm run build
