Как временно применить (или архивировать) изменения PATCH / DIFF из Tortoise SVN? - PullRequest
0 голосов
/ 06 июня 2011

Я использую Turtoise SVN + Visual SVN около года с тех пор, как покинул корпоративный мир, чтобы сделать свой собственный стартап. В SVN Tortoise есть одна особенность, которую я никогда не понимал:

Как я могу связать связку , изменяющую в файл PATCH или DIFF и либо: A) поделиться ими с моим соучредителем; или Б) заархивировать их в отдельное изменение, которое я могу «применить» или «отменить» в своем окне разработки?

У моего предыдущего работодателя мы использовали внутренний инструмент, который позволял нам создавать так называемые DPK-файлы , которые содержали набор локальных изменений. Вы можете добавить измененные файлы в DPK, а затем поделиться им с коллегами. Они могут либо просмотреть изменения в инструменте Diff, либо применить все изменения из DPK, чтобы проверить свои изменения на своем боксе. После завершения проверки вы можете проверить эти изменения. Вы также можете применить несколько DPK одновременно (при условии, что у вас не было перекрывающихся изменений).

Я хочу добиться того же с помощью Tortoise SVN + Visual SVN в IDE VS2010.

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

1 Ответ

0 голосов
/ 06 июня 2011

Неохотно отвечая на мой вопрос.Эта функция доступна с черепахой SVN.По сути, вы создаете файл PATCH, распространяете его или архивируете, а затем применяете PATCH.Единственная хитрость заключается в том, чтобы убедиться, что вы находитесь в правильном месте в WC (Рабочая копия), когда вы делаете «применить».При подаче заявки вы увидите всплывающее меню слева со списком всех файлов в списке изменений.Вы можете применять патчи по одному или навалом.Кажется, отлично работает.Прежде чем опубликовать этот вопрос, мне следовало бы подробнее изучить документы.

Вот текст для выбора местоположения:

"Файлы исправлений применяются к вашей рабочей копии. Это должно быть сделаноиз того же уровня папок, который использовался для создания патча. Если вы не уверены, что это такое, просто посмотрите на первую строку файла патча. Например, если первый файл, над которым работали, был doc / source / english /chapter1.xml и первая строка в файле патча - Index: english / chapter1.xml, тогда вам нужно применить патч к папке doc / source /. Однако, если вы находитесь в правильной рабочей копии, если вы выберете неправильнуюУровень папки TortoiseSVN заметит и предложит правильный уровень. "

Обязательно тщательно выбирайте место.Если Tortoise SVN не может найти его, потому что вы выбрали неправильный узел в проводнике файлов VS, он попытается найти подходящее местоположение, и это может быть неправильно.В моих тестах функция Patch фактически пыталась отобразить ветку (!!), когда я указала неправильное местоположение.

Вот соответствующая ссылка:

http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-patch.html

...