README.adoc

November 25, 2024 ยท View on GitHub

// SPDX-FileCopyrightText: Josef Andersson // // SPDX-License-Identifier: CC0-1.0

= Git Provider Sync :revdate: {docdatetime} :doctype: article :imagesdir: assets :source-highlighter: rouge

ifdef::env-github[] :tip-caption: :bulb: :note-caption: :information_source: :important-caption: :heavy_exclamation_mark: :caution-caption: :fire: :warning-caption: :warning: endif::[]

image:https://img.shields.io/github/v/tag/itiquette/git-provider-sync?style=for-the-badge&color=yellow[Tag,link=https://github.com/itiquette/git-provider-sync/tags] link:LICENSE[image:https://img.shields.io/badge/EUPL-European%20Union%20Public%20Licence%201.2-librarygreen?style=for-the-badge[EUPL 1.2]] image:https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fapi.reuse.software%2Fstatus%2Fgithub.com%2Fitiquette%2Fgit-provider-sync&query=status&style=for-the-badge&label=REUSE[REUSE,link=https://api.reuse.software/info/github.com/itiquette/git-provider-sync] https://scorecard.dev/viewer/?uri=github.com/itiquette/git-provider-sync[image:https://api.scorecard.dev/projects/github.com/itiquette/git-provider-sync/badge?style=for-the-badge[OpenSSF Scorecard]] image:https://img.shields.io/cii/level/9434?style=for-the-badge&label=OPENSSF%20BEST%20PRACTICES[OPEN SSF BEST PRACTICES,link=https://www.bestpractices.dev/projects/9434] //image:https://img.shields.io/endpoint?style=for-the-badge&url=https://gist.githubusercontent.com/janderssonse/87d513c639cf65c02ecc31c1670cbcd1/raw/go-coverage.json[Coverage]

ifdef::env-github[] ++++

++++ endif::[]

ifndef::env-github[] image::gpsgopher.png[logo, 350, align=center] endif::[]

== What can this tool do for you?

Git Provider Sync is a CLI tool that helps you:

  1. Mirror Repositories: Copy your repos between different Git providers.
  2. Batch Clone Repositories: Grab multiple repos and save them where you want.
  3. Archive Repositories: Pack your repos into compressed files for safekeeping.

== Where can you use it?

Initially with support for these Git providers:

  • GitHub
  • GitLab
  • Gitea

And you can save your work to:

  • Any of the above Git providers
  • A compressed archive file (tar.gz)
  • A directory on your computer

== Getting Started

  1. Check out the link:docs/usage.adoc[Usage Guide] for a quick start.
  2. The link:INSTALL.adoc[Installation Guide] will get you up and running.

== Make Git Provider Sync better?

Here's how you can contribute:

== For developers and architects

If you're interested in developing, see the link:DEVELOPMENT.adoc[Development Guide].

If you're interested in an architectural view, see the link:docs/sad.adoc[Software Architecture Description (SAD)].

== What's next?

Check out our https://github.com/itiquette/git-provider-sync/issues[Issues page].

== A friendly reminder

Please Note: Git Provider Sync is currently in Alpha. This means:

  • Things might change in breaking ways.
  • Feel free to share ideas on how we can make it better.
  • When using Git Provider Sync, it's a good idea to:
    • Use tokens with limited write access (never give full permissions).
    • Keep backups of important data, just in case.

Git Provider Sync is slowly getting stable and reliable. But as with any tool, it's always good to be careful!

== Documenting the project journey

I'm writing a log of how this project is becoming useful. Chapters are

  1. https://dev.to/janderssonse/from-friday-hack-to-release-reflections-on-creating-and-releasing-a-open-source-project-1ljg[From hack to release - reflections]
  2. Learning Go as a Java developer
  3. Open Source Practices
  4. Open Source Security

== Legal Stuff

Git Provider Sync is licensed under the EUPL 1.2 License.

Most of the non-code bits are under Creative Commons CC0-1.0.

For all the details, check out our link:LICENSE[LICENSE] file and the headers in each file.