Зависит от того, что установлено по умолчанию.
В нашей среде Solaris / Linux / Windows мы используем сценарии perl, но не один для каждой ОС: только один сценарий способен распознать ОС, в которой он выполняется, и запустить соответствующий код в зависимости от платформы.
Это позволяет изолировать общую функцию в независящей от платформы части скрипта, в то же время имея дело с путями и другими конкретными командами в подпрограммах, выделенных для Os, все в одном и том же скрипте, версия которого однажды.
Ключ не в том, чтобы вводить Os-ветви, которые могли бы вызвать некоторую «утечку метаданных»: некоторую информацию (Os), которая не имеет ничего общего с версионными данными (в ветках «test» или «fix» или ...) будет сосуществовать в специальных отраслях.
Это не практично: для какого исправления ветки вам нужна специальная версия этих скриптов?
Затем вы сделаете ветку «fix-Windows» и «fix-Unix» только для них, или вы просто измените указанный скрипт в ветке «fix», зафиксируете его и покончите с этим?