Эта тема на forum.dklab.ru


Николай Павлюк: php & svn
Здравствуйте. Столкнулся с такой проблемой: есть желание прикрутить к своему проекту минимальный функционал сабвершена, тоесть элементарный браузинг по репозиторию и сравнение файлов из разных версий. Чтобы было более наглядно, можно пример посмотреть здесь. К большому сожалению, "трек" написан на питоне, и мне выдрать полезную информацию из исходников не удалось. Сколько не гуглил -- вменяемого, хоть сколь-нибудь готового, решения я не нашел. Есть какой-то класс на pear.php.net, но там только альфа и как-то нет желания привязываться к "груше". Можно было бы, юзая system() или exec(), попробовать напрямую обращаться к репозиторию и распарсивать ответ, но тоже как-то не прет такое решение, потому что доступ к этим функциям будет, скорее всего, закрыт на большинстве хостингов. Не знаю, можно ли обращаться к репозиторию через сокеты. Вот и наконец мой вопрос -- видел, кто-нибудь, нормальное, рабочее решение для этой задачи?
WingedFox:
Например http://websvn.tigris.org/
Николай Павлюк:
WingedFox, спасибо за ссылку. Еще вопрос: скажите, пожалуйста, есть ли у Вас опыт настройки этого чуда? :)

Если я правильно понял, то вебСВН будет корректно работать, если на моей машине поднят СВН-сервер? Или я где-то недочитал?
WingedFox:
Николай Павлюк
Есть =)
http://svn.debugger.ru
Настраивается он в соответствии с комментариями в конфиге.
Работает с любыми репозиториями, до которых может достучаться консольный клиент.
Николай Павлюк:
WingedFox, ясно... тоесть консольный клиент необходим... комментарии, вроде как, более чем подробные, но сразу толку я не добился. В любом случае, спасибо за участие. Буду ковырять дальше. ;)
WingedFox:
Николай Павлюк
Есть такой вот модуль http://pecl.php.net/package/svn, но его состояние достаточно непонятно.
Николай Павлюк:
WingedFox, да, натыкался на этот модуль, но как-то неохота использовать бету :)
Я тут еще наткнулся вот на такой pear package, но там вообще альфа, так что, пока я эту задачу откладываю в долгий ящик. Всем спасибо за участие ;)
WingedFox:
Николай Павлюк
Ну так там ровно те же яйца:

exec("{$this->prepend_cmd}$cmd 2>&1", $out, $ret_var);

Только что всё нарезано помельче...

Эта тема на forum.dklab.ru