Как мне взять копию моей рабочей копии, чтобы поделиться с другими? - PullRequest
1 голос
/ 14 апреля 2010

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

В прошлом, с другой системой контроля версий, я мог сделать следующее, чтобы «упаковать» и «распаковать» мои изменения. Есть ли что-нибудь похожее с SVN?

sourcecontrol.exe pack myChanges.pack
sourcecontrol.exe apply myChanges.pack

Спасибо!

Ответы [ 3 ]

2 голосов
/ 14 апреля 2010

Конечно, вы можете сделать это с помощью команды svn diff, чтобы создать файл патча .

svn diff >my-changes.patch

Вы можете отправить этот файл исправления другим людям для проверки любым обычным способом (так как это всего лишь текстовый файл). Чтобы применить изменения,

patch <my-changes.patch

Обратите внимание, что если вы внесли изменения в любые нетекстовые файлы, поведение по умолчанию svn diff состоит в том, чтобы исключить фактические различия из файла исправления (поскольку файл исправления сам является текстовым файлом и не может содержать типы контента, такие как изображения).

Новое поколение распределенных инструментов контроля версий, таких как Git и Mercurial, справляется с этим гораздо более изящно, включая возможность совместного использования более чем одного коммита (набора изменений).

0 голосов
/ 14 апреля 2010

Нет. Лучшее, что вы можете сделать, это создать ветку. Это одно из преимуществ использования DVCS, такого как Git. Если вы просто хотите поделиться различиями, вы можете запустить svn diff, но если их много, это не будет удобным способом просмотреть и поделиться им.

0 голосов
/ 14 апреля 2010

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

Это адаптируется к правильному рабочему процессу: всегда сохраняйте где-нибудь свои версии, вот почему вы в первую очередь используете VCS! Филиалы SVN дешевы, их легко создавать и легко забыть, если они вам не нужны. Но самое главное, к ним легко вернуться, если произойдет «неожиданное».

...