Умный экспорт из SVN при помощи TortoiseSVN
17.10.07
Достаточно давно я столкнулся с проблемой, что в хорошей и правильной программе TortoiseSVN (по-русски «тортойс эС-Ви-эН»), нету такой необходимой и желанной вещи, как экспорт только тех файлов, которые были затронуты определенными ревизиями. Особенно начинаешь страдать, когда приходится перезаливать на сервер весь проект, куда входят достаточно увесистые библиотеки и фреймворки. Можно, конечно, не включать библиотеки в Subversion, но это уже тема для другой беседы. И вот, совсем недавно, один очень хороший гуру и друг совершенно ненавязчиво рассказал мне, как изящно и красиво решить эту проблему.
Первое, что нам нужно сделать — это зайти в папку, где у нас лежит рабочая копия и вызвать там контекстное меню. На данном этапе стоит отметить, что у вас уже должна быть установлена программа TortoiseSVN, использование которой, собственно, не требует никаких сверхестественных навыков.
Так вот, в вызванном контекстном меню нужно выбрать пункт "TortoiseSVN" → "Show log". Перед вами предстанет следующего вида окно:
В этом окне нужно произвести следующие действия: выбрать ревизию, начиная с которой нужно будет собрать измененные и добавленные файлы, зажать Ctrl, и выбрать ревизию, которой нужно закончить (в 90% случаев, это последняя ревизия). В общем, в итоге, должны быть выделены две ревизии. Теперь, вызываем контекстное меню следующего вида:
В этом самом меню выбираем пункт "Compare revisions". Получаем список файлов, которые были затронуты ревизиями между выбранными. Выглядит это примерно так:
Не трудно догадаться, что в этом окошке мы выделяем все файлы, вызываем контекстное меню и выбираем пункт "Export selection to...". Выбираем папку, куда сложить файлы, и жмем "OK".
Все готово!
Теперь обновить сайт или сделать ресурс-патч не составит никакого труда.
Надеюсь, я не единственный, кто не знал, как это делается, и эта информация окажется полезной.
К сожалению, я использую только эту программу для работы с Subversion, так что не могу описать, как это сделать в другом софте. Но, наверняка, как-то можно.
blockdog
Первое, что нам нужно сделать — это зайти в папку, где у нас лежит рабочая копия и вызвать там контекстное меню. На данном этапе стоит отметить, что у вас уже должна быть установлена программа TortoiseSVN, использование которой, собственно, не требует никаких сверхестественных навыков.
Так вот, в вызванном контекстном меню нужно выбрать пункт "TortoiseSVN" → "Show log". Перед вами предстанет следующего вида окно:
В этом окне нужно произвести следующие действия: выбрать ревизию, начиная с которой нужно будет собрать измененные и добавленные файлы, зажать Ctrl, и выбрать ревизию, которой нужно закончить (в 90% случаев, это последняя ревизия). В общем, в итоге, должны быть выделены две ревизии. Теперь, вызываем контекстное меню следующего вида:
В этом самом меню выбираем пункт "Compare revisions". Получаем список файлов, которые были затронуты ревизиями между выбранными. Выглядит это примерно так:
Не трудно догадаться, что в этом окошке мы выделяем все файлы, вызываем контекстное меню и выбираем пункт "Export selection to...". Выбираем папку, куда сложить файлы, и жмем "OK".
Все готово!
Теперь обновить сайт или сделать ресурс-патч не составит никакого труда.
Надеюсь, я не единственный, кто не знал, как это делается, и эта информация окажется полезной.
К сожалению, я использую только эту программу для работы с Subversion, так что не могу описать, как это сделать в другом софте. Но, наверняка, как-то можно.
blockdog