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 и вуаля =)

[identity profile] dluciv.livejournal.com 2007-01-18 10:09 am (UTC)(link)
Недурная штука.

Но что у SVK, что у Darcs одна проблема - {зеркало части репозитория
невозможно}/{кусок рабочей копии неотчуждаем}. Если ничего не путаю. У SVN и CVS (когда-то была и такая:) ) - легко.

[identity profile] airmax.livejournal.com 2007-01-18 12:14 pm (UTC)(link)
не уверен что нет такой фичи напрямую, но ведь есть же возможность "сшить" репозитарий из нескольких foreign folder'ов?

[identity profile] dluciv.livejournal.com 2007-01-18 12:41 pm (UTC)(link)
Насчет SVK не скажу, в Darcs вроде нету. Если я правильно понял, о чем речь.