Go to file
2021-03-29 17:38:50 +02:00
src job: read remotes list from repository 2021-03-29 17:21:55 +02:00
.gitignore Initial commit 2021-03-27 10:42:49 +01:00
.lohr lohr: mirror lohr from lohr 2021-03-29 17:22:14 +02:00
Cargo.lock setup basic app 2021-03-29 02:01:53 +02:00
Cargo.toml setup basic app 2021-03-29 02:01:53 +02:00
README.org add README 2021-03-29 17:38:50 +02:00
Rocket.toml setup basic app 2021-03-29 02:01:53 +02:00
rust-toolchain setup basic app 2021-03-29 02:01:53 +02:00

lohr

lohr is a Git mirroring tool.

I created it to solve a simple problem I had: I host my own git server at https://git.alarsyo.net, but want to mirror my public projects to GitHub / GitLab, for backup and visibility purposes.

GitLab has a mirroring setting, but it doesn't allow for multiple mirrors, as far as I know. I also wanted my instance to be the single source of truth.

How it works

Gitea is setup to send webhooks to my lohr server on every push update. When lohr receives a push, it clones the concerned repository, or updates it if already cloned. Then it pushes the update to all remotes listed in the .lohr file at the repo root.

Destructive

This is a very destructive process: anything removed from the single source of truth is effectively removed from any mirror as well.