Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dannixon/git-collage

A tool for selectively mirroring Git repositories.
https://github.com/dannixon/git-collage

git git-mirror github hacktoberfest

Last synced: about 2 months ago
JSON representation

A tool for selectively mirroring Git repositories.

Awesome Lists containing this project

README

        

# git-collage [![CI](https://github.com/DanNixon/git-collage/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/DanNixon/git-collage/actions/workflows/ci.yml) [![Crates.io](https://img.shields.io/crates/v/git-collage)](https://crates.io/crates/git-collage) [![dependency status](https://deps.rs/repo/github/dannixon/git-collage/status.svg)](https://deps.rs/repo/github/dannixon/git-collage)

A tool for selectively mirroring Git repositories.

`git-collage` was created to fill my desire to backup my own Git repos and mirror the parts of 3rd party repos I care about.
To this end the key features this tool has are:

- Ability to discover repositories (currently only from GitHub, but more can be added easily)
- Ability to filter refs that are mirrored, preventing "useless" refs being created locally (e.g. feature branches, GitHub PR merge commits)
- Is a single binary that can be scheduled via cron or systemd (personally I did not want to run a service for what is essentially a time scheduled backup job)

## Usage

See `git-collage --help` for syntax and [`examples`](./examples) for a sample configuration file.

Things to note:

- Console output below INFO level may contain sensitive information (e.g. Github tokens).
- GitHub tokens must be generated with the `repo` scope.