greposync

command module
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Dec 7, 2021 License: Apache-2.0 Imports: 15 Imported by: 0

README

= greposync

image:https://img.shields.io/github/go-mod/go-version/ccremer/greposync[Go version]
image:https://img.shields.io/github/v/release/ccremer/greposync?include_prereleases[Version,link=https://github.com/ccremer/greposync/releases]
image:https://img.shields.io/github/downloads/ccremer/greposync/total[GitHub downloads,link=https://github.com/ccremer/greposync/releases]
image:https://goreportcard.com/badge/github.com/ccremer/greposync[goreport,link=https://goreportcard.com/report/github.com/ccremer/greposync]
image:https://img.shields.io/codecov/c/github/ccremer/greposync?token=6DQY7397LS[Codecov,link=https://app.codecov.io/gh/ccremer/greposync]

https://github.com/voxpupuli/modulesync[ModuleSync] reimplemented in Go.

image::docs/modules/ROOT/assets/images/overview.drawio.svg[]

Documentation::
https://ccremer.github.io/greposync[ccremer.github.io/greposync,window=_blank]

== Why should you use this?

This tool is for you if you have lots of Git repositories that are somewhat alike, but not quite the same.
These days, CI/CD is almost as natural as unit tests.
They are often part of the repository itself, as "Infrastructure as Code".
However, it's difficult to manage those configurations.
You will probably have many repositories that share the same config files over and over.

If you are in such a situation, then `greposync` is for you.
The heart of `greposync` is the template repository, where every file is a template ready to be applied for each Git repository.
But it does quite a bit more than just `for each repo; do cp; done`.
The templates can be customized with custom values.
Either there are default parameters, or they can be coming from the repositories itself, so that each Git repo can control how the template is actually written.

== Project status

This project in its current status is in heavy development.
It got triggered by the lack of deep-merging YAML in modulesync configs and limitations in ERB templates.
It got inspired by Helm's templating mechanisms.
Though it can be used already, you should expect breaking changes.

== The name

It's a short form for **G**it-**Repo-Sync**.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

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