Understand your Git history!
Go to file
Murmele 9dce315868
no automatic release tag. For stable
For stable releases the tag is created manually. Otherwise it might lead to an infinite CI loop
2022-10-25 16:51:32 +02:00
.github no automatic release tag. For stable 2022-10-25 16:51:32 +02:00
cmake non environment text must be only once in otherwise the flatpak appdata test will fail. So make the description to be and add paragraphs to the others 2022-06-09 10:27:16 +02:00
conf Fixed the menubar color in Dark theme 2022-08-31 13:49:46 +02:00
dep Fix AUR builds Fix tests to work on machines without GIT configured Disable tests that touch global configuration by default Remove empty HunkWidget test Make resource install directory configurable Copy resources into output directory so that debugging works Replace "OK" button with "Remind me later" and "Skip this version" for non-updateable builds Allow using system-wide installations of most dependencies Make debug output suppressable and disable it in CI builds 2022-10-16 11:31:07 +02:00
docs tag must be included, otherwise always the stable releases are used 2022-10-25 16:45:16 +02:00
l10n datadir is the relative path considering the prefix, FULL_DATADIR will be created out of DATADIR 2022-10-20 15:21:43 +02:00
pack add "manifest" into the readme 2022-10-21 14:51:08 +02:00
rsrc Add Gitea Support 2022-10-15 19:31:57 -04:00
src Merge pull request #314 from exactly-one-kas/arch-aur-build 2022-10-22 16:14:55 +02:00
test format 2022-10-21 13:49:25 +02:00
.clang-format add code formatting 2022-05-01 09:19:07 +02:00
.gitignore add ignore 2020-11-19 19:11:35 +01:00
.gitmodules change url of lexilla 2022-05-01 11:15:33 +02:00
cl-fmt.sh Fix formatting and formatting scripts 2022-10-16 17:35:23 +02:00
cmake-format.json Fix formatting and formatting scripts 2022-10-16 17:35:23 +02:00
CMakeLists.txt Fix AUR builds Fix tests to work on machines without GIT configured Disable tests that touch global configuration by default Remove empty HunkWidget test Make resource install directory configurable Copy resources into output directory so that debugging works Replace "OK" button with "Remind me later" and "Skip this version" for non-updateable builds Allow using system-wide installations of most dependencies Make debug output suppressable and disable it in CI builds 2022-10-16 11:31:07 +02:00
LICENSE.md update copyright 2022-04-29 17:49:26 +02:00
README.md Add Mac OS Homebrew installation method 2022-09-04 20:51:18 +03:00

Gittyup Status Matrix Donate Liberapay

Download Gittyup on Flathub

Gittyup

Gittyup is a graphical Git client designed to help you understand and manage your source code history. The latest release is available either as pre-built flatpak for Linux, 32 / 64 binary for Windows, macOS, or can be built from source by following the directions below.

Gittyup is a continuation of the GitAhead client.

Gittyup

Table of contents

Features

To get an overview of the current features please have a look at the GitHub Page

How to Get Help

Ask questions about building or using Gittyup on Stack Overflow by including the gittyup tag. Remember to search for existing questions before creating a new one.

Report bugs in Gittyup by opening an issue in the issue tracker. Remember to search for existing issues before creating a new one.

If you still need help, check out our Matrix channel Gittyup:matrix.org.

Build Environment

  • C++11 compiler
    • Windows - MSVC >= 2017 recommended
    • Linux - GCC >= 6.2 recommended
    • macOS - Xcode >= 10.1 recommended
  • CMake >= 3.3.1
  • Ninja (optional)

Dependencies

External dependencies can be satisfied by system libraries or installed separately. Included dependencies are submodules of this repository. Some submodules are optional or may also be satisfied by system libraries.

External Dependencies

  • Qt (required >= 5.12)

Included Dependencies

  • libgit2 (required)
  • cmark (required)
  • git (only needed for the credential helpers)
  • libssh2 (needed by libgit2 for SSH support)
  • openssl (needed by libssh2 and libgit2 on some platforms)

Note that building OpenSSL on Windows requires Perl and NASM.

How to Build

Initialize Submodules

git submodule init
git submodule update

Build OpenSSL

# Start from root of gittyup repo.
cd dep/openssl/openssl

Windows:

perl Configure VC-WIN64A
nmake

macOS (Intel):

./Configure darwin64-x86_64-cc no-shared
make

macOS (Apple Silicon)

./Configure darwin64-arm64-cc no-shared
make

Linux:

./config -fPIC
make

Configure Build

# Start from root of gittyup repo.
mkdir -p build/release
cd build/release
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ../..

If you have Qt installed in a non-standard location, you may have to specify the path to Qt by passing -DCMAKE_PREFIX_PATH=<path-to-qt> where <path-to-qt> points to the Qt install directory that contains bin, lib, etc.

Build

ninja

How to Install

Linux

The easiest way to install Gittyup is by using Flatpak.

Arch Linux

Install the gittyup package from the Arch User Repository.

git clone https://aur.archlinux.org/gittyup.git
cd gittyup
makepkg -si

Or use an AUR helper. Install gittyup-git for the VCS build.

Mac OS

Homebrew

Install the gittyup cask from Homebrew.

brew install gittyup

Flatpak from terminal

If you want a more pure console use, this script run flatpak version disowning the process and silence the output pushing it to /dev/null. Just save the script somewhere in your path, for example /usr/bin (or ~/.local/bin if you have exported it), give execution permissions chmod +x, and run gittyup from your terminal.

#!/bin/bash
DIR=$(dirname "${BASH_SOURCE[0]}")
function run_disown() {
    "$@" & disown
}
function run_disown_silence(){
    run_disown "$@" 1>/dev/null 2>/dev/null
}
run_disown_silence flatpak run com.github.Murmele.Gittyup

How to Contribute

We welcome contributions of all kinds, including bug fixes, new features, documentation and translations. By contributing, you agree to release your contributions under the terms of the license.

Contribute by following the typical GitHub workflow for pull requests. Fork the repository and make changes on a new named branch. Create pull requests against the master branch. Follow the seven guidelines to writing a great commit message.

License

Gittyup and its predecessor GitAhead are licensed under the MIT license. See LICENSE.md for details.