= 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[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[]
== 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.
Most features are untested yet ("it works on my machine").
== Note before migrating
> It's too soon yet!
Most notably, the template engine is using gotemplate with Sprig library.
This means that you would have to rewrite your templates when migrating to gsync.
To clearly differentiate between the two, the `template` dir is `moduleroot`'s pendent.
The configuration syntax in `managed_repos.yml` (`managed_modules.yml`) and `gitreposync.yml` (`modulesync.yml`) has changed as well compared to their predecessors.
Checkout the examples and documentation (coming later).
== The name
It's a short form for **G**it-**Repo-Sync**.