-
Notifications
You must be signed in to change notification settings - Fork 663
Open
Description
Describe the bug
If -diag switch is specified first in commandline arguments, the -config switch is ignored.
Expected Behavior
Order of arguments should not matter.
Actual Behavior
Position of -diag switch affects argument parsing: -config switch is ignored.
Steps to Reproduce
mkdir repro
cd repro
dotnet tool install --global GitVersion.Tool
echo wtf > GitVersion.yml
echo next-version: 3.2.1 > custom.yml
git init
git commit -m "FooBar" --allow-empty
dotnet-gitversion -config custom.yml -diag
dotnet-gitversion -diag -config custom.ymlFirst GitVersion invocation (dotnet-gitversion -config custom.yml -diag) will run succefuly and return:
{
"Major": 3,
"Minor": 2,
"Patch": 1,
// ...
}The second invocation will fail, since -diag switch is specified first and it'll ignore config file specified via -config and will try to read GitVersiion.yml.
YamlDotNet.Core.YamlException: (Line: 1, Col: 1, Idx: 0) - (Line: 1, Col: 4, Idx: 3): Exception during deserialization
Context
It's very hard to try various configurations when order of switches affects result.
Related: #2848
Your Environment
- Operating System and version:
Windows 10 - GitVesion:
5.7.0+Branch.main.Sha.8d177c6d666c8eeb1c6a6a2c71fd4b78741137d2