Зачем это может понадобиться? Да очень просто, чтобы получить файлы, которые изменились между двумя версиями в репозитории Subversion. Оказывается в Subversion нет такой команды, чтобы получить эти самые файлы. Можно сделать export конкретной ревизии, но в любом случае получим все файлы на тот период. Но не все так плохо. Оказывается можно добиться необходимого результата с помощью отличной программы TortoiseSVN – клиент для Subversion. Очень полезный и удобный инструмент, рекомендую.
Чтобы получить список файлов, которые изменились, делаем следующее:
• Выбираем две резизии (Рисунок №1), только две, с большим количеством не сработает
• Над одной из выбранных ревизий, вызываем контекстное меню (правой кнопкой), появляется менюшка (Рисунок №2), где нажимаем на пункт “Compare revision”
• В результате получаем следующее окно (Рисунок №3), где выбираем все файлы (можно через комбинацию клавиш Ctrl+A), вызываем контекстное меню и нажимаем “Export selection to …” – Рисунок №4.
• Указываем куда хотим сохранить выбранные файлы.
При таком экспорте сохраняется вся структура папок. В итоге получаем очень удобную функциональность.
Рисунок №1: Окно ревизий “Log Messages”
Рисунок №2: Контекстное меню – вызываем команду “Compare revision”
Рисунок №3: Список изменений между двумя ревизиями
Рисунок №4: Контекстное меню – выбираем место куда сохранить файлы
Ссылки по теме:
• TortoiseSVN docs: Revision Log Dialog
• Windows SubVersion / TortoiseSVN – Compare two versions of a file
• TortoiseMerge and TortoiseDiff – viewing differences
• Using TortoiseSVN (tutorial)