Help:Utils: Difference between revisions
No edit summary |
(add util binary link) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
== Утилиты == | == Утилиты == | ||
=== pfixer === | === pfixer === | ||
pfixer | pfixer — утилита для исправления путей при экспорте снимков в файл. Замена путей в существующем снимке опасна, поэтому предлагается делать экспорт снимка с заменой путей. После, при необходимости, исходный снимок можно удалить с сервера. Утилита также работает со снимками в <code>.snap</code> файлах. | ||
Поддерживаются версии Svacer, начиная с 7-0-0, но в дистрибутив утилита будет входить после 9-0-2, а пока ее можно скачать отдельно: [https://svacer.ispras.ru/releases/svacer-9-0-2/pfixer pfixer] / [https://svacer.ispras.ru/releases/svacer-9-0-2/pfixer.exe pfixer.exe] | |||
Для работы с утилитой необходимо создать файл содержащий правила замены путей. Это должен быть юниксовый текстовый файл (разделитель строк | Для работы с утилитой необходимо создать файл содержащий правила замены путей. Это должен быть юниксовый текстовый файл (разделитель строк <code>\n</code>). Его можно указать через опцию <code>--map-file</code> или через stdin. Каждая строчка должна содержать заменяемый префикс и значение, разделённые двоеточием. Если префикс должен быть удалён, для замены используется знак <code>-</code>. | ||
<префикс1>:<замена1> | |||
<префикс1>:<замена1> | <префикс2>:<замена2> | ||
<префикс2>:<замена2> | <префикс3>:<замена3> | ||
<префикс3>:<замена3> | <префикс4>:- | ||
<префикс4>:- | |||
Также есть возможность использовать [https://pkg.go.dev/regexp#Regexp.ReplaceAllString регулярные выражения] (в экспериментальной стадии) из языка Go. В этом случае надо использовать знак '@' в начале строки. Можно использовать $var для ссылок на группы в регулярном выражении. | |||
@<регулярное_выражение1>:<замена> | |||
@<регулярное_выражение2>:- | |||
@<регулярное_выражение1>:<замена> | |||
@<регулярное_выражение2>:- | |||
Все правила упорядочиваются перед заменой, применяется самое длинное подходящее правило. Процесс прерывается в случае, если пути конфликтуют после замены (два пути превратились в один). | Все правила упорядочиваются перед заменой, применяется самое длинное подходящее правило. Процесс прерывается в случае, если пути конфликтуют после замены (два пути превратились в один). | ||
Авторизацию на сервере можно передать через опции --credentials | Авторизацию на сервере можно передать через опции <code>--credentials <login:password></code> или <code>--token <token></code> — сразу токен авторизации. | ||
Исходный снимок с сервера можно передать | Исходный снимок с сервера можно передать в виде URL. | ||
'''Примеры''' | |||
<pre> | <pre> | ||
pfixer --source http://svacer/mode/review/project/{project}/branch/{branch}/snapshot/{snapshot} --output updated.snap --credentials login:password --map-file map.txt | 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 -map-file map.txt --log-file test.log | ||
pfixer --source input.snap --output updated.snap --log-file test.log | cat map.txt | pfixer --source input.snap --output updated.snap --log-file test.log | cat map.txt | ||
</pre> | </pre> |
Latest revision as of 13:19, 27 August 2024
Утилиты
pfixer
pfixer — утилита для исправления путей при экспорте снимков в файл. Замена путей в существующем снимке опасна, поэтому предлагается делать экспорт снимка с заменой путей. После, при необходимости, исходный снимок можно удалить с сервера. Утилита также работает со снимками в .snap
файлах.
Поддерживаются версии Svacer, начиная с 7-0-0, но в дистрибутив утилита будет входить после 9-0-2, а пока ее можно скачать отдельно: pfixer / pfixer.exe
Для работы с утилитой необходимо создать файл содержащий правила замены путей. Это должен быть юниксовый текстовый файл (разделитель строк \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