2009-12-09 5 views
3

Кто-нибудь знает, есть ли способ извлечь из репозитория SVN измененные файлы между двумя коммитами?Извлечение измененных файлов из SVN

Было бы полезно, чтобы получить структуру каталогов также ..

Мне нужно извлечь файлы, которые я измененными с момента последней фиксации и отправить их клиенту .. Я сделал это вручную до сих пор , но по мере того, как число файлов растет, оно начинает отнимать много времени (и, как мне кажется, манекен :)

Я использую графический интерфейс Cornerstone, но, очевидно, это было бы нормально из командной строки .. или, может быть, есть GUI, который делает это на Mac?

Спасибо!

ответ

7

Если клиент счастлив в использовании patch, самым простым способом является использование svn diff. Если пересмотр вы хотите послать к вашему клиенту является r26, типа

svn diff -c 26 > changes.diff 

Чтобы отправить все изменения в изменениях 26-35, используйте

svn diff -r 26:35 > changes.diff 

Они оба создать файл changes.diff, который вы можете отправить вашему клиенту, который затем копирует этот файл в корне их копию кода и запускает

patch -p1 < changes.diff 

Этот метод также заботится о структуре каталога для вас.

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

+0

Спасибо! Я буду использовать этот метод, я думаю, что это даже лучше, чем повторное создание структуры каталогов. –

+0

Я только что обновил свой ответ - я забыл отметить, что diff/patch не будет обновлять бинарные файлы для вас. –

1

Почему вы не используете 'svn update' на клиенте?

Это реализует получение двоичного диф измененных файлов (так точно информацию, которую вы просите) и применяет его к вашей рабочей копии тоже :)

+0

Привет, спасибо за подсказку. Ну, сервер SVN находится на моей локальной машине. Я работаю над небольшой частью проекта, и процесс, который я использую, развивает мою часть на локальном хосте, а затем посылает обновления клиенту. –

4

разоблачена плагин для Eclipse, имеет Extract особенность, которая делает именно то, что вы хотите.

1

Я использую shell script, которые получают список файлов из журнала SVN, а затем экспортируют один за другим. Я по-прежнему ищу другой вариант, используя SVN-клиент напрямую.

+0

Ницца, мне нужен был просто сценарий. После удаления компонентов, специфичных для приложения, я смог использовать его немедленно. – mliebelt

Смежные вопросы