https://github.com/goto-eof/fromgtog
Clone ALL repositories from and to GitHub/Gitea/Gitlab/Local
https://github.com/goto-eof/fromgtog
Last synced: about 1 year ago
JSON representation
Clone ALL repositories from and to GitHub/Gitea/Gitlab/Local
- Host: GitHub
- URL: https://github.com/goto-eof/fromgtog
- Owner: goto-eof
- License: other
- Created: 2025-05-05T19:22:38.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-06-23T18:59:36.000Z (about 1 year ago)
- Last Synced: 2025-06-23T19:43:17.692Z (about 1 year ago)
- Language: Java
- Homepage:
- Size: 16.9 MB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

FromGtoG v. 7.0
Index
- [Introduction](#introduction)
- [News](#news)
- [Features](#features)
- [Download (Stable)](#download)
- [MacOS](#download-macos)
- [Windows](#download-windows)
- [Linux](#download-linux)
- [Screenshot](#screenshot)
- [For developers](#for-developers)
- [Tested on](#tested-on)
- [Support me](#support-me)
Introduction
A few days ago, I published FromGtoG 3.0 on the [Ubuntu Snap Store](https://snapcraft.io/fromgtog).
Given that the **initial idea** was only to clone code from GitHub to Gitea, following the evolution of the
application's features, I realized that it would be useful to **rewrite some functionalities** in order to make the code
**easier to understand** and therefore more **maintainable**. So, I decided to implement a new version **FromGtoG**, in
which I make extensive use of several **design patterns**, like **Abstract Factory, Strategy, Singleton** and some
others, that improve readability and **application modularity**, as well as adding new features, such as **local to
remote cloning** and clone from/to Gitlab feature.
News
- 2025/06/23 - I discovered that FromGtoG `.deb` package was not working on Debian 10. I rebuilt the package on Debian
10. So, now it should work on both Ubuntu latest and Debian 10. I apologize for the inconvenience. Please ping me if
you find a bug (
open an issue on [GitHub](https://github.com/goto-eof/fromgtog/issues)
or [contact me](https://andre-i.eu/#contactme)). The v. 7.0.0 should work now also on Debian 10.
You can download it
from [here](https://github.com/goto-eof/fromgtog/releases/download/7.0.0/fromgtog_7.0.0_amd64.deb).
- fixed the windows/linux and macOS packaging - now it is possible to clone from GitHub. The absence of the
`jdk.crypto.ec` and `java.security.sasl` imports in the `--add-modules` option, prevented the SSL connections, so the
clone process failed, in particular for GitHub (which uses SSL).
Features
Currently, the application is able to clone:
- from GitHub to GitHub\Gitea\Local\Gitlab
- from Gitea to GitHub\Gitea\Local\Gitlab
- from Gitlab to GitHub\Gitea\Local\Gitlab
- from Local to GitHub\Gitea\Local (copies only git repositories, other directories are skipped)\Gitlab
Further features
- multi-threading
- logging (log file)
- delete all repositories from:
- from GitHub
- from Gitea
- from Gitlab
Download (Stable)
-
MacOS
[Download MacOS installer](https://github.com/goto-eof/fromgtog/releases/download/7.0.0/FromGtoG-7.0.0.pkg)- just
install the .pkg file. Note: for copy/paste actions, please use `Control + C` and `Control + V` (I will enable
`Command + C` and `Command + V` in the future.)
-
Windows
[Download Windows installer](https://github.com/goto-eof/fromgtog/releases/download/7.0.0/FromGtoG-7.0.0.exe)- just
install the .exe file and start cloning.
-
Linux
[Download Ubuntu .deb package](https://github.com/goto-eof/fromgtog/releases/download/7.0.0/fromgtog_7.0.0_amd64.deb) -
in order to install the .deb package execute `sudo dpkg -i romgtog_7.0.0_amd64.deb`
[Install from Ubutnu Snapstore](https://snapcraft.io/fromgtog) - or execute `sudo snap install fromgtog` in order to
install the application.
Technologies/Tools
JDK 21, Intellij UI Designer (plugin for Intellij), Slf4J, Lombok, Apache Commons, JSON.
Screenshot


For developers
## Retrieve dependency modules of the jar
```bash
jdeps -s fromgtog.jar
```
## Generate a standalone for MacOS
It is necessary to install Xcode Command Line Tools before.
```bash
jpackage --type pkg --name "FromGtoG" --vendor "Andrei Dodu" --app-version "7.0.2" --input "target" --main-jar "fromgtog.jar" --icon "resources/icon.icns" --main-class "com.andreidodu.fromgtog.Main" --dest "executable" --add-modules java.base,java.desktop,java.net.http,jdk.crypto.ec,java.security.sasl,java.naming,java.sql,java.management,java.security.jgss,java.xml,java.logging --verbose --java-options "-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dsun.java2d.uiScale=true"
```
## Generate a standalone for Windows
It is necessary to install Wix Toolset before.
```bash
jpackage -t exe --name "FromGtoG" --vendor "Andrei Dodu" --app-version "7.0.2" --input "target" --dest "executable" --main-jar "fromgtog.jar" --icon "resources\icon.ico" --resource-dir resources --add-modules java.base,java.desktop,java.net.http,java.naming,java.sql,java.management,java.security.jgss,java.xml,java.logging,jdk.crypto.ec,java.security.sasl --win-shortcut --win-menu --main-class com.andreidodu.fromgtog.Main
```
## Generate a standalone for Linux
```bash
jpackage --type deb --name "FromGtoG" --vendor "Andrei Dodu" --app-version "7.0.2" --input "target" --main-jar "fromgtog.jar" --icon "resources/icon.png" --main-class "com.andreidodu.fromgtog.Main" --dest "executable" --add-modules java.base,java.desktop,java.net.http,java.naming,java.sql,java.management,java.security.jgss,java.xml,java.logging,jdk.crypto.ec,java.security.sasl --linux-shortcut --verbose --linux-package-deps "libasound2, libpulse0"
```
## Usefully commands
```bash
jar tvf fromgtog.jar
```
```bash
sudo snap remove fromgtog && snapcraft clean && snapcraft && sudo snap install fromgtog_7.0.2_amd64.snap --dangerous && fromgtog
```
Tested on
- Ubuntu 25.04
- Debian 10
- Windows 11
- MacOS
Support Me
If you find this project helpful, consider [sponsoring me](https://github.com/sponsors/goto-eof) 💚
[](https://github.com/sponsors/goto-eof)