Это странно.Код ниже работает, как и ожидалось, внутри пакетного файла:
FOR /F "tokens=1,2,3,* delims=-" %%G IN (
'git describe --long --always --dirty --broken'
) do (
set tag_name=%%G
set versions_from_tag=%%H
set hash=%%I
set dirty_broken=%%J
)
Когда я пытаюсь добавить опцию --abbrev, я получаю фатальную ошибку:
FOR /F "tokens=1,2,3,* delims=-" %%G IN (
'git describe --long --always --dirty --broken --abbrev=8'
) do (
set tag_name=%%G
set versions_from_tag=%%H
set hash=%%I
set dirty_broken=%%J
)
вывод: fatal: --dirty is incompatible with commit-ishes
но если я запускаю команду вне FOR / F, она работает как положено:
git describe --long --always --dirty --broken --abbrev=8
выводит 2.11-13-ga03306e6-dirty
Я предполагаю, что это, вероятно, что-то естьделать со средой команды FOR /F
?