Skip to content

Fix behavior when providing a wrong git URL #1694

@SDallmann

Description

@SDallmann

Feature idea

If the settings folder is empty, IDEasy will request the user to provide a git URL, but there's unexpected behavior when providing a wrong git URL (e.g. with a typo: htps instead of https): git will recognize the error and abort, but IDEasy will still run package installation steps.

Steps to reproduce:

  1. ide create test
  2. When prompted, provide a wrong git URL, e.g. with some typo (htps instead of https).

Actual results:

$ ide create test
Creating new IDEasy project in D:\projects\test
Start: Create (clone) settings repository
No settings found at D:\projects\test\settings and no SETTINGS_URL is defined.
Further details can be found here: https://github.com/devonfw/IDEasy/blob/main/documentation/settings.adoc
Please contact the technical lead of your project to get the SETTINGS_URL for your project to enter.
In case you just want to test IDEasy you may simply hit return to install the default settings.
Settings URL [https://github.com/devonfw/ide-settings.git]:
htps://github.com/devonfw/ide-settings.git
Cloning into '.'...
git: 'remote-htps' is not a git command. See 'git --help'.

The most similar command is
        remote-https
fatal: remote helper 'htps' aborted session
Running command 'C:\Program Files\Git\mingw64\bin\git.exe' with arguments 'clone' '--recursive' 'htps://github.com/devonfw/ide-settings.git' '--config' 'core.autocrlf=false' '.'
failed with exit code 128!
Command git.exe failed with exit code 128 - full commandline was C:\Program Files\Git\mingw64\bin\git.exe clone --recursive htps://github.com/devonfw/ide-settings.git --config core.autocrlf=false .
Step 'Create (clone) settings repository' ended with failure.
Templates folder is missing in settings repository.
Start: Install or update software
Start: Install npm
No CVEs found for version 11.8.0 of tool npm.
No CVEs found for version v25.5.0 of tool node.
Artifact already exists at C:\Users\sdallman\Downloads\ide\default\node-v25.5.0-windows-x64.zip
To force update please delete the file and run again.
Extracting ZIP file C:\Users\sdallman\Downloads\ide\default\node-v25.5.0-windows-x64.zip to D:\projects\_ide\tmp\extract-node-v25.5.0-windows-x64.zip
Extracting 100% [===================================================================================================================================================================================================================] 100/100MiB (0:00:02 / 0:00:00) 50.3MiB/s
Setting npm config prefix to: D:\projects\test\software\node was successful
Successfully installed node in version v25.5.0 at D:\projects\test\software\node
npm warn using --force Recommended protections disabled.

changed 10 packages in 4s

15 packages are looking for funding
  run `npm fund` for details
Successfully installed npm in version 11.8.0 at D:\projects\test\software\node
Successfully ended step 'Install npm'.
Start: Install mvn
No CVEs found for version 3.9.9 of tool mvn.
No CVEs found for version 25.0.1_8 of tool java.
Due to lack of permissions, Microsoft's mklink with junction had to be used to create a Symlink. See
https://github.com/devonfw/IDEasy/blob/main/documentation/symlink.adoc for further details. Error was: D:\projects\test\software\java: A required privilege is not held by the client
Junction created for D:\projects\test\software\java <<===>> D:\projects\_ide\software\default\java\java\25.0.1_8
Successfully installed java in version 25.0.1_8 at D:\projects\test\software\java
Due to lack of permissions, Microsoft's mklink with junction had to be used to create a Symlink. See
https://github.com/devonfw/IDEasy/blob/main/documentation/symlink.adoc for further details. Error was: D:\projects\test\software\mvn: A required privilege is not held by the client
Junction created for D:\projects\test\software\mvn <<===>> D:\projects\_ide\software\default\mvn\mvn\3.9.9
No templates found in settings git repo neither in D:\projects\test\settings\templates nor in D:\projects\test\settings\devon - configuration broken
Successfully installed mvn in version 3.9.9 at D:\projects\test\software\mvn
Successfully ended step 'Install mvn'.
Successfully ended step 'Install or update software'.
Cannot find folder 'repositories' nor 'projects' in your settings.
Variable CREATE_START_SCRIPTS is undefined - skipping start script creation.
Successfully created new project 'test'.
 Step 'Create (clone) settings repository' failed: Command git.exe failed with exit code 128 - full commandline was C:\Program Files\Git\mingw64\bin\git.exe clone --recursive htps://github.com/devonfw/ide-settings.git --config core.autocrlf=false .
1 step(s) failed out of 5 steps.

The steps for package-installations are performed but the settings folder will remain empty:

$ ls -ltra settings/
total 4
drwxr-xr-x 1 ... 4096 0 Jan 27 12:04 ../
drwxr-xr-x 1 ... 4096 0 Jan 27 12:05 ./

Expected result:
IDEasy should verify the URL and not perform the installation steps, e.g. stop after fatal: remote helper 'htps' aborted session and request the user to enter the URL again.

Additional context

No response

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestgitgit version management tool integrationinstallinstallation process of IDE + tools and install commandletsettingside-settings repo and replated processes and featuresupdaterelated to updating software or the entire ide

    Projects

    Status

    🆕 New

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions