Skip to content

IDEasy can not handle BASH_PATH variable properly #1561

@jan-vcapgemini

Description

@jan-vcapgemini

Actual behavior

When the user sets the BASH_PATH variable in his USER environment variables to f.e. C:\customfolder\git\bin\bash.exe IDEasy does not utilize the variable and constantly reports warnings that the git bash was not found e.g. Query to windows registry for finding bash failed with exit code

Reproduce

  1. Download and unpack a portable version of git
  2. Set the BASH_PATH to your portable git bash.exe location
  3. Check if IDEasy accepted the variable and does not report errors about a missing git bash

Expected behavior

IDEasy should uitilize the variable and not report any warnings that the git bash was not found.

IDEasy status

Updates are available for the settings repository. If you want to apply the latest changes, call "ide update"
IDE_ROOT is set to D:\projects
IDE_HOME is set to D:\projects\release-test
You are online.
Your settings are not up-to-date, please run 'ide update'.
Your version of IDEasy is 2025.11.001-SNAPSHOT.
You are using a SNAPSHOT version of IDEasy. For stability consider switching to a stable release via 'ide upgrade --mode=stable'
Your version of IDEasy is 2025.11.001-SNAPSHOT but version 2025.11.001-20251031.024545-1 is available. Please run the following command to upgrade to the latest version:
ide upgrade
Your operating system is windows(10.0)@x64 [Windows 11@amd64]
Successfully completed ide (status)

Related/Dependent issues

No response

Comments/Hints

Check behaviour in MSI installer, CMD and git bash.
Use HyperV to test this.
The issue seems to be related to this code:

public void verifyGitInstalled() {
this.context.findBashRequired();
Path git = Path.of("git");
Path binaryGitPath = this.context.getPath().findBinary(git);
if (git == binaryGitPath) {
String message = "Git is not installed on your computer but required by IDEasy. Please download and install git:\n"
+ "https://git-scm.com/download/";
throw new CliException(message);
}
this.context.trace("Git is installed");
}

It looks like the result of findBashRequired is being ignored and then another test for the existence of git is failing.

A workaround could be to only show the warning when in debug mode.

Metadata

Metadata

Labels

bashbash, zsh, git-bash (integration, scripts)gitgit version management tool integrationwindowsspecific for Microsoft Windows OS

Type

Projects

Status

✅ Done

Relationships

None yet

Development

No branches or pull requests

Issue actions