Project management
October 2007 17

Умный экспорт из SVN при помощи TortoiseSVN

Достаточно давно я столкнулся с проблемой, что в хорошей и правильной программе TortoiseSVN (по-русски «тортойс эС-Ви-эН»), нету такой необходимой и желанной вещи, как экспорт только тех файлов, которые были затронуты определенными ревизиями. Особенно начинаешь страдать, когда приходится перезаливать на сервер весь проект, куда входят достаточно увесистые библиотеки и фреймворки. Можно, конечно, не включать библиотеки в Subversion, но это уже тема для другой беседы.
И вот, совсем недавно, один очень хороший гуру и друг совершенно ненавязчиво рассказал мне, как изящно и красиво решить эту проблему.


Первое, что нам нужно сделать — это зайти в папку, где у нас лежит рабочая копия и вызвать там контекстное меню. На данном этапе стоит отметить, что у вас уже должна быть установлена программа TortoiseSVN, использование которой, собственно, не требует никаких сверхестественных навыков.

Так вот, в вызванном контекстном меню нужно выбрать пункт "TortoiseSVN" → "Show log". Перед вами предстанет следующего вида окно:



В этом окне нужно произвести следующие действия: выбрать ревизию, начиная с которой нужно будет собрать измененные и добавленные файлы, зажать Ctrl, и выбрать ревизию, которой нужно закончить (в 90% случаев, это последняя ревизия). В общем, в итоге, должны быть выделены две ревизии. Теперь, вызываем контекстное меню следующего вида:



В этом самом меню выбираем пункт "Compare revisions". Получаем список файлов, которые были затронуты ревизиями между выбранными. Выглядит это примерно так:



Не трудно догадаться, что в этом окошке мы выделяем все файлы, вызываем контекстное меню и выбираем пункт "Export selection to...". Выбираем папку, куда сложить файлы, и жмем «OK».

Все готово!

Теперь обновить сайт или сделать ресурс-патч не составит никакого труда.

Надеюсь, я не единственный, кто не знал, как это делается, и эта информация окажется полезной.

К сожалению, я использую только эту программу для работы с Subversion, так что не могу описать, как это сделать в другом софте. Но, наверняка, как-то можно. Быть может umputun подскажет, как это работает в eSVN.

Комментарии активно приветствуются.
+19
4k 39
Comments 40