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.yml
First 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