Help:Utils
Утилиты
pfixer
pfixer -- утилита для исправления путей при экспорте снимков в файл. Замена путей в существующем снимке опасна, поэтому предлагается делать экспорт снимка с заменой путей. При необходимости исходный снимок пользователь может удалить с сервера.
Утилита так же работает со снимками в файлах. pfixer поддерживает версии Svacer начиная с версии 7, но поставляется после 9-0-2. Исполняемый файл находится в bin.
Для работы с утилитой необходимо создать файл содержащий правила замены путей. Это должен быть юниксовый текстовый файл (разделитель строк знак '\n'). Каждая строчка должна содержать заменяемый префикс и значение, разделённый двоеточием. Если префикс должен быть удалён, для замены используется знак '-'. Его указать можно через опцию --map-file или через stdin.
<префикс1>:<замена1> <префикс2>:<замена2> <префикс3>:<замена3> <префикс4>:-
Так же есть возможность использовать регулярные выражения (в экспериментальной стадии) из языка Golang (https://pkg.go.dev/regexp#Regexp.ReplaceAllString). В этом случае использовать надо знак '@' в начале строки. Так же можно использовать $var для ссылок на группы в регулярном выражении.
@<регулярное_выражение1>:<замена> @<регулярное_выражение2>:-
Все правила замен упорядочиваются перед заменой, применяется самое длинное подходящее правило. Процесс прерывается в случае если правила приводят пути конфликтуют после замены (два пути превратились в один).
Авторизацию на сервере можно передать через опции --credentials вида login:password или --token сразу токен авторизации.
Исходный снимок с сервера можно передать сразу ссылкой с сайта.
Примеры
pfixer --source http://svacer/mode/review/project/{project}/branch/{branch}/snapshot/{snapshot} --output updated.snap --credentials login:password --map-file map.txt pfixer --source input.snap --output updated.snap -map-file map.txt --log-file test.log pfixer --source input.snap --output updated.snap --log-file test.log | cat map.txt