Скажите, что я внес изменения в некоторые файлы, но я не хочу регистрировать их. Я хочу сохранить изменения в пакетном файле или некотором архиве и затем послать им по электронной почте к другому dev/myself/etc.. так, чтобы они могли смотреть на мои изменения и применить их к своей рабочей копии. Действительно ли возможно сделать это?
Более простой сценарий
Можно ли скопировать незафиксированные изменения svn?
Если вы хотите просто показать им изменения, которые они могут применить, вы можете создать патч .
svn diff> patchfile
Если вы уже сделали коммит, вы можете создать патч между разными ревизиями .
Например, чтобы создать патч изменений с 341 до последней ревизии:
svn diff -r 341: HEAD http://svn.example.com/repos/calc/trunk > файл исправлений
Конечно, используйте svn diff
для создания копии:
svn diff >modifications.patch
Это создаст "патч" файл, который вы можете позже переместить на другой компьютер и применить там:
patch -p1 <modifications.patch
Обратите внимание, что если на удаленном компьютере есть рабочая копия для другой ревизии репозитория Subversion, у вас могут возникнуть конфликты при применении патча. Программа patch
имеет иной процесс разрешения конфликтов, чем сама Subversion.
Если вы не уверены в фиксации в ствол, вы можете создать ответвление и зафиксировать его там, и сказать другим разработчикам проверить это ответвление для просмотра ваших изменений.
Когда все будет в порядке, вы можете слить ее в ствол.
Я использовал продукт под названием Code Collaborator , который может исключить ручной шаг из вашего процесса. Это инструмент проверки кода, который интегрируется с SVN, а также с другими системами контроля версий. Вы создаете обзор, добавляете в него незафиксированные измененные файлы, приглашаете других к рецензированию, и они видят разницу между вашей версией и тем, что находится в репозитории. Имейте в виду, это дорогой инструмент, но, по моему опыту, оно того стоило. Если вы хотите попробовать, доступна тридцатидневная демонстрация.