mirror of
https://github.com/cooperspencer/gickup
synced 2026-09-01 14:04:25 +02:00
main
Both ScanAndCollect calls dropped their error. ScanAndCollect returns whatever it managed to collect alongside the error, so a failed or partial ListDescendantGroups left subgroups short without saying so, and the include/exclude org maps were built from an incomplete list. For includeorgs that silently drops repos from the backup set. The GetGroup call seven lines above each of these already logs and continues on error, so this matches the surrounding code.
GICKUP
Backup your Git repositories with ease.
What is GICKUP?
Gickup is a tool that allows you to clone/mirror repositories from one host to another. This is useful if you want to have a backup of your repositories on another host or on a local server.
Supported Source and Destinations
You can clone/mirror repositories from:
- Github
- Gitlab
- Codeberg (Forgejo)
- Gitea
- Gogs
- Bitbucket
- OneDev
- Sourcehut
- Any
You can clone/mirror repositories to:
- Github
- Gitlab
- Codeberg (Forgejo)
- Gitea
- Gogs
- OneDev
- Sourcehut
- Radicle
- Local
- S3
If your hoster is not listed, feel free to open an issue and I will add it.
How to make a configuration file
How to run the binary version
./gickup path-to-conf.yml
How to run the Docker image
mkdir gickup
wget https://raw.githubusercontent.com/cooperspencer/gickup/main/docker-compose.yml
nano conf.yml # Make your config here
docker-compose up
Compile the binary version
go build .
Compile the Docker Image
git clone https://github.com/cooperspencer/gickup.git
cd gickup
nano docker-compose.yml # Uncomment the Build
nano conf.yml # Make your config here
docker-compose build
docker-compose up
Questions?
If anything is unclear or you have a great idea for the project, feel free to open a discussion about it. https://github.com/cooperspencer/gickup/discussions
Distribution Packages
| Distribution | Package | Maintainer |
|---|---|---|
| Arch | gickup | me |
| Homebrew | gickup | |
| Fedora | gickup | FrostyX |
| Scoop | gickup |
Issues
The mirroring to Gitlab doesn't work, or at least I can't test it properly because I have no access to a Gitlab EE instance.
Future Ideas
- Additional VCS
- Add minio as a destination
Languages
Go
99.5%
Dockerfile
0.3%
Makefile
0.1%
Just
0.1%