Skip to content

goto-eof/fromgtog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

header

FromGtoG v. 7.0

Index

Introduction

A few days ago, I published FromGtoG 3.0 on the Ubuntu Snap Store. 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 or contact me). The v. 7.0.0 should work now also on Debian 10. You can download it from here.
  • 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)

Technologies/Tools

JDK 21, Intellij UI Designer (plugin for Intellij), Slf4J, Lombok, Apache Commons, JSON.

Screenshot

screenshot

For developers

Retrieve dependency modules of the jar

jdeps -s fromgtog.jar

Generate a standalone for MacOS

It is necessary to install Xcode Command Line Tools before.

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.

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

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

jar tvf fromgtog.jar 
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 💚

Sponsor

About

Clone ALL repositories from and to GitHub/Gitea/Gitlab/Local

Resources

License

Stars

Watchers

Forks