site  contact  subhomenews

Gittyup GUI Git client

May 05, 2024 — BarryK

I have been using SmartGit for years. It is a commercial product, with a free license for non-commercial use. It is a great product; however, sometimes there are inconveniences. It "phones home" at every startup, and frequently insists on perfoming an update. A few times, I had to re-validate the free license. Recently, at startup it reports downloading "git", but I already have git, and I hit "Exit" then restart SmartGit and then it doesn't try and download git. Weird.

Anyway, I want to get away from it. The last few years, many free Git GUIs have emerged. There is one, "GitAhead", that was a commercial product; however, a couple of years ago (not sure exactly) it became free open-source. The homepage states that it is no longer being developed, just bug fixes:

https://gitahead.github.io/gitahead.com/

However, looking at the commits, still fairly active:

https://github.com/gitahead/gitahead

GitAhead rates well in reviews. For example at slant.co:

https://www.slant.co/options/18757/~gitahead-review

Slant.co has rated it number 10 in GUI Git clients, all platforms:

https://www.slant.co/topics/4985/~visual-git-guis

...SmartGit comes in as number-1.

There are YouTube videos on GitAhead, such as this:

https://www.youtube.com/watch?v=cdhQqSSbYPQ

Then I found "Gittyup", which is a continuation of the GitAhead project:

https://github.com/Murmele/Gittyup

...yes, very active.

I have compiled Gittyup, created a PET, and it will be in EasyOS Kirkstone-series devx SFS from now on. For the record, here is how I compiled it:

# git clone https://github.com/Murmele/Gittyup.git gittyup-1.3.0
# cd gittyup-1.3.0
# git submodule init
# git submodule update --depth 1

# cd ..
# dir2tgz gittyup-1.3.0
# sync
# cd gittyup-1.3.0

# cd dep/openssl/openssl
# ./config -fPIC
# make

# cd ../../../
# mkdir -p build/gittyup-1.3.0
# cd build/gittyup-1.3.0
# cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_SYSCONFDIR=/etc \
-DCMAKE_INSTALL_LOCALSTATEDIR=/var -DENABLE_UPDATE_OVER_GUI=OFF -DUSE_SYSTEM_OPENSSL=OFF \
-DUSE_SYSTEM_QT=ON -DUSE_SYSTEM_LUA=ON -DUSE_SYSTEM_HUNSPELL=ON -DUSE_SYSTEM_LIBGIT2=OFF \
-DUSE_SYSTEM_GIT=ON -DUSE_SYSTEM_CMARK=OFF -DENABLE_TESTS=ON ../..
# ninja
# new2dir ninja install

It requires openssl 1.1.x, whereas Kirkstone has 3.x, so configured for builtin. Also builtin libgit2, as the Kirkstone libgit2 caused scintilla compile fail. Haven't tested it yet; just started it, but took it no further.   

Tags: easy