Подтвердить что ты не робот

Создать "патч" между версиями?

Кажется, что функциональность SVN "patch" не совсем то, что я хочу. Я действительно хочу создать разницу между версиями. Таким образом, я бы выбрал rev1 и rev 2 и в итоге был папкой, содержащей все файлы, которые были изменены или добавлены между этими версиями.

Можно ли это сделать с помощью Tortoise SVN или простого svn?

4b9b3361

Ответ 1

Это может быть достигнуто в самой черепахе SVN. Щелкните правой кнопкой мыши на ветке (папке), из которой вы хотите создать патч → Show Log → Выберите Все версии, для которых вам нужно создать патч → Щелкните правой кнопкой мыши и выберите Compare revisions → Это покажет измененные файлы → Выберите все файлы → Щелкните правой кнопкой мыши и выберите Export Revision To → Укажите любой путь на вашем компьютере → Файлы будут экспортированы в соответствующую структуру папок.

В качестве альтернативы вы можете добиться этого с помощью скриптов. Для этого обратитесь к следующей ссылке:

http://www.electrictoolbox.com/subversion-export-changed-files-cli

Ответ 2

В командной строке вы можете сделать это следующим образом.

Все файлы в папке

Создайте патч в своей домашней папке, содержащий все изменения между версиями 123 и 124 из всех измененных файлов в папке "my_project":

svn diff -r123:124 path/to/my_project > ~/my_project_changes_123_124.patch

Один конкретный файл

Создайте патч в своей домашней папке, содержащий все изменения между версиями 123 и 124 только из одного файла, имя "my_project.php":

svn diff -r123:124 path/to/my_project/my_project.php > ~/my_project_changes_123_124.patch

Ответ 3

Ум... как насчет svn diff? Просто передайте ему нужные изменения.

http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.diff.html

В TortoiseSVN, если вы выделите изменения, которые вы хотите в диалоговом окне "показать журнал", есть даже элемент контекстного меню, чтобы отображать изменения как diff, которые вы затем можете сохранить где-то.