syngit

command module
v0.0.0-...-fa34981 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 24, 2023 License: GPL-3.0 Imports: 8 Imported by: 0

README


Syngit

Synchronize repositories across Git clients


Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. License
  5. Acknowledgements

Syngit is a CLI and daemon that lets you synchronize repositories across different clients (Github, Codeberg, Gitlab, etc) with a very simple configuration file. Syngit is a tool with no external dependencies (not even git). It contains everything you need, just compile it and run it.

Built With

Getting Started

To use Syngit, make sure you got the tokens/passwords needed to authenticate for your target Git clients (ie Github, GitLab, Codeberg, etc). After you've gotten your tokens/passwords you need a syngit.toml in your system's default config directory. The config file has the following structure:

# your main git client
main_client = "github"
# ignores all files that match the glob pattern, unimplemented!
glob_ignore = ["*cpp"]
# where the cache for syngit should be stored, defaults to https://pkg.go.dev/os#UserCacheDir
cache_dir = "~/Documents/Test"

[client.codeberg]
username = "RaphGL"
token = "my_token"

[client.github]
username = "RaphGL"
token = "my_token"
# temporarily disable synchronization to this client
disable = true

[client.gitlab]
username = "RaphGL"
token = "my_token"
# repositories to be ignored on this client
ignore = ["repo1", "repo2"]

Installation

$ git clone https://github.com/RaphGL/Syngit
$ cd Syngit
$ go build

Usage

  1. Create a $HOME/.config/syngit.toml file
  2. Fill out the configuration file
  3. Enable the syngit service (WIP):
$ systemctl enable syngit --now

License

Distributed under GPLv3 License. See LICENSE for more information.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL