воскресенье, 14 февраля 2016 г.

Remove your previous SVN client version (clean system and restart)

Волею судьбы пришлось опять использовать на проекте SVN.

И все бы хорошо (на самом деле после git с локальными бранчами как-то не очень удобно), но используется он не только как хранилище кода, но и система версий для хранилища программных компонент.
Тоесть, каждая версия программной компоненты - это запись\коммит в репозиторий.
И программное обеспечение, которое я обслуживаю, настроено понимать эти записи, отображать и каким-то образом иногда даже изменять.
Но суть в том, что мы вытаскиваем программную компоненту из репозитория с помощью довольно распространенных утилит\библиотек.

Недавно обнаружил, що устанавливаемый из корпоративной службы (по запросу, ни в коем случае не вручную) клиент SVN не позволяет надежно работать программному обеспечению в моей личной среде - устанавливаемая версия 1.6.9, а нужна (приходит из репозитория) уже 1.7.+
Поэтому, например, вызов svn info сбоит, а поскольку один из важных скриптов использует svn через коммандную строку, то он у меня сбоит.

Некоторое время пытался что-то сделать - договориться, чтобы мне поставили версию поновее, но все увязло в болоте бюрократии...
Потом плюнул, нашел портативную (архивированную) версию клиента svn.
Но почему-то, все равно работать не получалось - постоянно лезли странные ошибки типа
"svn the procedure entry point svn_mergeinfo_intersect2 could not be located in the dynamic link library libsvn_subr-1.dll"
или
"svn.exe the original 354 could not be located in the dynamic link library LIBEAY32.dll"
Поиски по интернет прямого ответа не давали, но в процессе натолкнули на мысль о том, что в системе уже находятся библиотеки, и они не совместимы с запускаемой версией svn.
Я подал запрос на удаление установленного сервисом клиента svn, машина перезагрузилась...
И проблемма решилась.

В общем, все довольно логично - за указанными билиотеками windows сначала ищет в системных директориях, в моем случае находила - и получала ошибку (версий, по сути).
Тем более, что я работаю на птичьих правах в системе - без админских прав, и мой вариант системного пути (%PATH%) в очереди поиска идет в безнадежном конце.