Help:Utils

From Svacer Wiki
Revision as of 12:13, 27 August 2024 by Akuzmin (talk | contribs) (several minor fixes)

Утилиты

pfixer

pfixer — утилита для исправления путей при экспорте снимков в файл. Замена путей в существующем снимке опасна, поэтому предлагается делать экспорт снимка с заменой путей. После, при необходимости, исходный снимок можно удалить с сервера. Утилита также работает со снимками в .snap файлах.

Поддерживаются версии Svacer, начиная с 7-0-0, но в дистрибутив утилита будет входить после 9-0-2, а пока ее можно скачать <тут>.

Для работы с утилитой необходимо создать файл содержащий правила замены путей. Это должен быть юниксовый текстовый файл (разделитель строк \n). Его указать можно через опцию --map-file или через stdin. Каждая строчка должна содержать заменяемый префикс и значение, разделённые двоеточием. Если префикс должен быть удалён, для замены используется знак -.

<префикс1>:<замена1>
<префикс2>:<замена2>
<префикс3>:<замена3>
<префикс4>:-

Также есть возможность использовать регулярные выражения (в экспериментальной стадии) из языка Go. В этом случае надо использовать знак '@' в начале строки. Можно использовать $var для ссылок на группы в регулярном выражении.

@<регулярное_выражение1>:<замена>
@<регулярное_выражение2>:-

Все правила упорядочиваются перед заменой, применяется самое длинное подходящее правило. Процесс прерывается в случае, если пути конфликтуют после замены (два пути превратились в один).

Авторизацию на сервере можно передать через опции --credentials <login:password> или --token <token> — сразу токен авторизации.

Исходный снимок с сервера можно передать в виде URL.

Примеры

 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