airmax: (Default)
airmax ([personal profile] airmax) wrote2007-01-17 09:04 pm

Нашел мега софт - SVK

SVK == distributed SVN
http://svk.elixus.org/view/

Суть в том, что с помощью SVK можно делать (да, да, да, крошка!) зеркала с удалённых SVN и CVS репозитариев и спокойно их синхронизировать.

Основная проблема если пытаться делать такие зеркала с помощью простого svn merge туда-сюда это, во-первых, то, что при svn merge фиг разберёшь какие изменения из какого зеркала пришли, особенно если кто-то что-то удаляет, а во-вторых, что все изменения из одного бранча при merge в другой склеиваются в одну кучу, безо всяких комментов об изменениях.



Вот тут всё хорошо написано как SVK это решает.
http://pickscrape.woobling.org/svk-visual-guide.pdf - для визуалов
http://www.bieberlabs.com/wordpress/svk-tutorials/ - куча буковок

Вот тут рассматривается вопрос синхронизации с чужими библиотеками - типичный случай,
взяли чью-то либу, подправили напильничком, вышла новая версия - можно радостно замерджить свои изменения и изменения в библиотеке _с_сохранением_всей_истории_.
http://wellington.pm.org/archive/200510/svk/slide11f.html#end

Таким способом можно поддерживать изменения в каталоге, где не стоит сохранять .svn - рассматриваем его как export из remote repository, svn обламывается, svk рулит.
http://wellington.pm.org/archive/200510/svk/slide8c.html#end
http://wellington.pm.org/archive/200510/svk/slide9f.html#end

Вот так поддерживаются патчи - те же яйца, только в разрезе.
http://wellington.pm.org/archive/200510/svk/slide20c.html#end

Вот тут его используют в реальной жизни в известном и достаточно большом проекте, так что можно потренироваться.
http://www.symfony-project.com/trac/wiki/HowToContributeWithSvk

Эта же фича позволяет запихнуть в trac броузер удалённого код - trac работает только с локальными репозитариями, с помощью svk делается mirror и вуаля =)

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting