Turtle is a graphical interface for version control intended to run on gnome and nautilus. It is written in python and uses pygit2, gtk4 and libadwaita. There is also a nautilus plugin available which provides emblems and context menu entries.
Now I already use it on a daily basis in a productive use case, even to develop turtle itself. So if anyone is interested in trying it, feel free to do so. Any feedback is welcome.
You can find a full list of available dialogs in the README of the repository, alongside with the install instructions. Currently it is only possible to install it via the provided install.py script or if you build the pip or flatpak yourself locally (Note: flatpak does not support nautilus extensions).
There is no documentation at the moment, but the dialogs are hopefully straightfoward and very similar to TortoiseGit or RabbitVCS.
For those who want to get involved, these are some issues I am currently facing:
There is still no flatpak available on flathub, due to an issue with libgit2 abi not being built correctly. See the flathub PR and pygit2 issue linked inside of it.
It would be nice to get turtle into the Debian/Ubuntu and Fedora as a deb/rpm package. Especially because flathub cannot provide nautilus extensions. Any help is welcome here, even if it is only some guidance on what I can improve to make it easier or more likely to get turtle packaged.
I opened some issues for nautilus-python regarding potential enhancements: menu item separator, folder information in the pathbar, icons for (sub)menus.
To support other file managers in the future I encapsulated the plugin in an independent source file.
I pushed plugins/turtle_thunar.py in the latest main branch. I just quickly tested it in a Xubuntu 23.04 VM, the menu gets created correctly. Please let me know, if you need anything else.
In Debian, you’ll need to open a bug ( Refer https://www.debian.org/Bugs/Reporting ) based on the WNPP link provided above. Mostly, a Debian package maintainer will take care of packaging your app. If not, you’ll have to become the package maintainer yourself. Instructions will be given in the bug.
In Fedora, it will be mostly DIY ( maintain your own package ). You’ll be given small maintenance tests / tasks by a packaging mentor to see if you’re capable of maintaining your own package. Once you clear them, you will be given resources and access to Fedora packaging infrastructure.
@Sid There will be multiple packages (turtle-cli, turtle-nautilus, python3-turtlevcs), do I need to make a WNPP bug report for each of them or is one bug report for turtle enough?
I guess if all the 3 packages come from the 1 source package, then 1 WNPP should be sufficient. However, it’s best to open an issue first in Debian BTS, and get things clarified from Debian package maintainers.