Understand your Git history!
Go to file
Stefan Knotzer 32129bf61f Update build and VC redistributable
Update build: When the build directory is not within the source directory (default when using Qt Creator), the 'Help' - 'About GitAhead' - dialog has no commit ID. Therefore the CMAKE_SOURCE_DIR is passed to git.
VC redistributable: Microsoft has packed the VC redistributable for VS 2015, VS 2017 and VS 2019 int one new VC redistributable.
2020-08-19 13:38:15 +02:00
.github/workflows Fix various typos 2019-12-17 10:56:20 -05:00
conf Add Beyond Compare 4 to mergetools 2020-06-20 17:41:05 +02:00
dep Update libgit2 to tip of master 2020-07-13 13:41:00 -06:00
doc Change version to 2.6.3 2020-07-14 11:01:17 -06:00
l10n Fix translation issue on macOS 2020-07-13 12:52:13 -06:00
pack Fix macOS notarization issues 2019-10-28 11:18:03 -06:00
rsrc Update build and VC redistributable 2020-08-19 13:38:15 +02:00
src Fix the definition of an identifier in indexed search to include a dash followed a digit 2020-07-14 10:44:41 -06:00
test Remove tr for test app strings 2019-11-30 22:50:51 -07:00
.gitignore Import source 2018-12-12 16:22:04 -07:00
.gitmodules Change libssh2 submodule URL back to the official repo 2019-01-05 14:00:42 -07:00
CMakeLists.txt Update build and VC redistributable 2020-08-19 13:38:15 +02:00
LICENSE.md Import source 2018-12-12 16:22:04 -07:00
README.md Add CI scripts 2019-12-16 21:20:08 -07:00

Actions Status Actions Status

GitAhead - Understand Your History

GitAhead is a graphical Git client designed to help you understand and manage your source code history. It's available as a pre-built binary for Windows, Linux, and macOS, or can be built from source by following the directions below.

How to Get Help

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

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

If you still need help, email us at support@gitahead.com.

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.9)

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 gitahead repo.
cd dep/openssl/openssl

Win:

perl Configure VC-WIN64A
nmake

Mac:

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

Linux:

./config -fPIC
make

Configure Build

# Start from root of gitahead 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 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

GitAhead is licensed under the MIT license. See LICENSE.md for details.