Application Dependencies - psjw12/gitextensions GitHub Wiki

GitExtensions has a number of external dependencies, such as git and diff tools. Before v2.51.02 these tools were bundled into the installer and installed whenever GitExtensions was installed.

Whilst this approach had certain benefits - the installer was self contained, it brought a number of issues. For example, our release cadence is slower than of git's, so our users quite often may be stuck on old version of git and wouldn't know how to update it. A lot of users never used Kdiff3, which we bundled, and preferred to use a different diff tool.

Below is the list of our dependencies - those you must have in order to use GitExtensions and those you may choose to install.

Required Dependencies

Git

GitExtensions is a GUI over git, which is an external installation. In Windows, the standard Git distribution from Git-for-Windows is used, other distributions (like Cygwin Git) could work but are not officially supported. GitExtensions up until v2.51.02 included a Git installer.

The minimal and recommended Git version may depend on the GitExtensions version. The Git distribution could be incompatible in certain aspects with GE for instance due to changed paths and deprecated commands.

For versions before v2.51.02 a Git installer was included and was the Git version tested with that release. In v2.51.02 a check for recommended version was included instead. However, quite often Git had to be updated for other reasons, like GitHub requires Git 2.16 credential manager. Later version should be usable too, this wiki should be updated when confirmed. The version check in the application is not updated.

Minimum Git version

GitExtensions Version Git version
<= 2.51.01 1.7.0
[2.51.02, 3.00) 2.9.0
3.00+ 2.11.0

Recommended Git version

Recommended Git version: 2.20.1

You can install git from the official site: https://git-scm.com/downloads, or using Chocolatey package manager:

choco upgrade -y git

For more information please refer to https://chocolatey.org/packages/git.

Diff tool

To provide diff'ing experience and help in resolution of merge conflict GitExtensions relies on external diff tools, which must be installed on the user's machine. Before v2.51.02 we have bundled KDiff3, however many users chose to use a different diff tool.

GitExtensions supports many diff tools. Below is a list of tools we suggest, but you can install any diff tool you fancy.

Optional dependencies

Diff/merge tools

KDiff3

For many release before v2.51.02 we have bundled KDiff3. If you wish to continue to use this tool we suggest you use Chocolatey package manager to install it:

choco upgrade -y kdiff3

For more information please refer to https://chocolatey.org/packages/kdiff3.

P4Merge

P4Merge is quite popular amongst users. We suggest you use Chocolatey package manager to install it:

choco upgrade -y p4merge

For more information please refer to https://chocolatey.org/packages/p4merge.