Package Details: gitahead 2.7.0-1

Git Clone URL: (read-only, click to copy)
Package Base: gitahead
Description: Understand your Git history!
Upstream URL:
Keywords: git git-gui
Licenses: MIT
Submitter: KillWolfVlad
Maintainer: alerque
Last Packager: alerque
Votes: 36
Popularity: 0.025291
First Submitted: 2017-09-18 16:45 (UTC)
Last Updated: 2023-12-13 09:47 (UTC)

Pinned Comments

alerque commented on 2022-05-07 15:33 (UTC)

I highly recommend anyone using this package to switch to the gittyup fork.

rmartin commented on 2021-11-23 17:33 (UTC)

There is on-going development with a fork rebranded "Gittyup"

Latest Comments

1 2 3 4 Next › Last »

alerque commented on 2022-05-07 15:33 (UTC)

I highly recommend anyone using this package to switch to the gittyup fork.

rmartin commented on 2021-11-23 17:33 (UTC)

There is on-going development with a fork rebranded "Gittyup"

Bink commented on 2021-11-17 02:36 (UTC)

Perhaps old news for some, but as of 27 Sep 2021, GitAhead is officially no longer under active development :(

See commit:

patlefort commented on 2021-11-17 01:12 (UTC)

Does not build, the PKGBUILD contain some mistakes. Here's a patch to fix it:

diff --git a/PKGBUILD b/PKGBUILD
index fc654d0..5d205b8 100644
@@ -34,21 +34,20 @@ prepare() {

 build() {
-       cd "$pkgname"
        cmake \
                -G Ninja \
                -DCMAKE_BUILD_TYPE=Release \
                -DCMAKE_PREFIX_PATH=/usr/lib \
-               -C build
-               gitahead
-       ninja -C build
+               -B build \
+               -S "$pkgname"
+       cmake --build build

 package() {
        cd "$pkgname"
        install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/"
-       install -Dm0644 -t "$pkgdir/usr/share/applications/" "$pkgname.desktop"
-       ninja -C build package
+       install -Dm0644 -t "$pkgdir/usr/share/applications/" "$srcdir/$pkgname.desktop"
+       cmake --build "$srcdir/build" --target package
        mkdir -p "$pkgdir/usr/"{share,bin}
        cp -r "$srcdir/build/_CPack_Packages/Linux/STGZ/GitAhead-$pkgver" "$pkgdir/usr/share/gitahead"
        rm -rf "$pkgdir/usr/share/gitahead/"*.so.*

It would also be better to follow the guidelines for submodules, but somehow one of the submodule point to a commit that's not in the repository ( and fetching that submodule fails.

loathingkernel commented on 2021-11-02 11:13 (UTC) (edited on 2021-11-02 11:20 (UTC) by loathingkernel)

It is not a -git package but pinning specific working commits ahead of the most recent tag is allowed and encouraged if required (as it is, this package doesn't build at all). The -git suffix indicates that the PKGBUILD is going to build the most recent version at the time it is being built, not that it builds a version later than the most recent tag.

timschumi commented on 2021-11-02 00:31 (UTC)

This is not a -git package, so it should only operate on tagged releases, with minimal cherry-picks if anything.

That said, I don't use gitahead anymore, so I'll leave that decision to whomever decides to pick up maintainership of the package.

loathingkernel commented on 2021-11-01 22:11 (UTC)

Currently build is broken because one of the git modules can't find the ref it points to. In contrast HEAD from git works fine, so you might want to pin the version to that.

Also I took the liberty of cleaning up the PKGBUILD, here is the patch.

diff --git a/PKGBUILD b/PKGBUILD
index 2f52e24..1cc2983 100644
@@ -5,60 +5,71 @@
 # Contributor: Angelo Theodorou <>

 pkgdesc='Understand your Git history!'
 depends=('desktop-file-utils' 'qt5-base' 'git')
 makedepends=('cmake' 'ninja' 'git' 'qt5-tools' 'qt5-translations')
-  "git+${pkgver}"
+  "git+$_commit"
+  "git+"
+  "git+"
+  "git+"
+  "git+"
+  "git+"
+  ""
-  '254b4e970a942c6ac94df177e54a6169fe7e5f5c5d0d92b6f0c0f03b7b7b2fb0'
+  'SKIP'
+  'SKIP'
+  'SKIP'
+  'SKIP'
+  'SKIP'
+  'fe44a8de4f913add030c8c76fc312f90e88badabb2a4b9b8e6f8a5dc4415d9ee'
+  'd327c209bed0ee3afece3121d781f74a09be195bb33654353ed27f248a914841'

-prepare() {
-  cd "$srcdir/gitahead"
-  patch --forward --strip=1 --input="../gitahead.patch"
+pkgver() {
+  cd $pkgname
+  printf "%s" "$(git describe --long --tags | sed 's/\([^-]*-\)g/r\1/;s/-/./g;s/v//g')"

-  git submodule update --init --recursive
+prepare() {
+  cd $pkgname
+  for submodule in {libgit2,libssh2,git,cmark,hunspell}; do
+    git submodule init dep/"$submodule"/"$submodule"
+    git config submodule.dep/"$submodule"/"$submodule".url "$srcdir"/"$submodule"
+    git submodule update dep/"$submodule"/"$submodule"
+  done
+  patch --forward --strip=1 --input="${srcdir}/gitahead.patch"

 build() {
-  if [ ! -d "$srcdir/gitahead-build" ]; then
-    mkdir "$srcdir/gitahead-build"
-  fi
-  cd "$srcdir/gitahead-build"
-  cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/usr/lib ../gitahead
-  ninja
+  cmake -S $pkgname -B build -G Ninja \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/opt/$pkgname
+  ninja -C build

 package() {
-  cd "$srcdir/gitahead-build"
-  ninja package
-  mkdir -p "${pkgdir}/usr/"{share,bin}
-  cp -r "${srcdir}/gitahead-build/_CPack_Packages/Linux/STGZ/GitAhead-${pkgver}" "${pkgdir}/usr/share/gitahead"
-  rm -rf "${pkgdir}/usr/share/gitahead/"*.so.*
-  ln -s "/usr/share/gitahead/GitAhead" "${pkgdir}/usr/bin/gitahead"
-  install -D -m644 "${pkgdir}/usr/share/gitahead/Resources/GitAhead.iconset/icon_16x16.png" "${pkgdir}/usr/share/icons/hicolor/16x16/apps/gitahead.png"
-  install -D -m644 "${pkgdir}/usr/share/gitahead/Resources/GitAhead.iconset/icon_32x32.png" "${pkgdir}/usr/share/icons/hicolor/32x32/apps/gitahead.png"
-  install -D -m644 "${pkgdir}/usr/share/gitahead/Resources/GitAhead.iconset/icon_64x64.png" "${pkgdir}/usr/share/icons/hicolor/64x64/apps/gitahead.png"
-  install -D -m644 "${pkgdir}/usr/share/gitahead/Resources/GitAhead.iconset/icon_128x128.png" "${pkgdir}/usr/share/icons/hicolor/128x128/apps/gitahead.png"
-  install -D -m644 "${pkgdir}/usr/share/gitahead/Resources/GitAhead.iconset/icon_256x256.png" "${pkgdir}/usr/share/icons/hicolor/256x256/apps/gitahead.png"
-  install -D -m644 "${pkgdir}/usr/share/gitahead/Resources/GitAhead.iconset/icon_512x512.png" "${pkgdir}/usr/share/icons/hicolor/512x512/apps/gitahead.png"
-  install -D -m644 ${srcdir}/gitahead/ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
-  install -D -m644 "${srcdir}/gitahead.desktop" "${pkgdir}/usr/share/applications/gitahead.desktop"
+  DESTDIR="$pkgdir" ninja -C build install
+  rm -rf "$pkgdir"/opt/$pkgname/{bin,include,lib,share}
+  rm -rf "$pkgdir"/opt/$pkgname/*.so.5
+  install -D -m755 "$srcdir"/$ "$pkgdir"/usr/bin/$pkgname
+  for size in 16x16{,@2x} 32x32{,@2x} 64x64{,@2x} 128x128{,@2x} 256x256{,@2x} 512x512{,@2x}; do
+    install -D -m644 "$pkgdir"/opt/$pkgname/Resources/GitAhead.iconset/icon_"$size".png \
+      "$pkgdir"/usr/share/icons/hicolor/"$size"/apps/$pkgname.png
+  done
+  install -D -m644 "$srcdir"/$pkgname/ "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+  install -D -m644 "$srcdir"/$pkgname.desktop "$pkgdir"/usr/share/applications/$pkgname.desktop
diff --git a/gitahead.desktop b/gitahead.desktop
index e39ce73..d267919 100644
--- a/gitahead.desktop
+++ b/gitahead.desktop
@@ -1,10 +1,10 @@
 [Desktop Entry]
 Comment=Understand your Git history!
+Exec=gitahead /dev/null
\ No newline at end of file
diff --git a/ b/
new file mode 100644
index 0000000..fce9405
--- /dev/null
+++ b/
@@ -0,0 +1,3 @@
+/opt/gitahead/GitAhead "$@"

timschumi commented on 2020-10-02 08:47 (UTC)

@hacker1024 I'm not sure. We had to make some fixes to load theming at all, but I don't think its intended to follow the system theme. However, you might get a better answer when asking on the GitHub repository directly.

hacker1024 commented on 2020-10-02 07:27 (UTC)

Is there any way to use the system QT theme with this?