Как сохранить diff для повторного использования позже-функция, похожая на shelveset в TFS?
Я делаю некоторые изменения в файле, но понимаю, что мне нужно изменить его по - другому-это требует от меня временного сохранения текущих изменений в другом месте и применения его позже. Как это сделать в svn / subversion tool, например TortoiseSVN?
функция, которую я упоминаю, очень похожа на making shelveset
и распаковка его в TFS.
пожалуйста, помогите, если знаете как. Спасибо!
4 ответов
ответ AntonyW работает, но это может быть излишним, особенно если у вас много кода !
Я не знаком с TFS' shelveset
но svn дает вам svn diff
команда, чтобы сделать именно то, что вы ищете: сделать разницу и сохранить его, чтобы вы могли применить его позже. Просто возьмите svn diff
' s выход и сохранить его в a .патч или. файл diff.
svn diff myfile > myfile.patch
поскольку вы используете TortoiseSVN,это еще проще сделать.
вы также можете создать ветку с вашими изменениями. Это может быть даже лучше, чем хранить diff на диске.
изменить: Значит, у вас есть разные изменения в рабочей копии? Файлы, которые вы хотите сохранить, и файлы, которые вы хотите сохранить в diff? В этом случае, возможно, лучше создать патч из TortoiseSVN.
но если вы хотите поставить в патч все изменения из рабочей копии, лучше, на мой взгляд, создать ветку. Это действительно легко в Черепаха:
- создайте ветвь / тег и отметьте рабочую копию как источник ветви (не проверяйте, чтобы переключиться на новую ветвь).
- после того, как Tortoise создает ветку, верните все локальные изменения
- Сделайте ваши другие изменения
- Commit to trunk
- переключитесь на ветку и объедините изменения из trunk
- вернуть ветку в багажник
для shure он работает для меня большую часть времени, патчи хороши для обзора кода, а не для создание локального набора инструментов незавершенных изменений;)
Что касается приведенных выше ответов, я (лично) не согласен с ними (навалом и т. д...). Что касается меня (и я использую его), это одна из хороших функций, которая в настоящее время поддерживается только team foundation и может использоваться по сети. Это очень помогает в следующей ситуации:
- во-первых и наиболее заметным является то, что вы можете иметь обзор от другого человека, не имея зарегистрированного (и неполного) кода в основном исходном коде.
- In если у вас есть несколько решений, вы можете иметь несколько полок, которые вы можете протестировать в своем приложении.
- Если другой человек требует определенного набора Ваш для частичного тестирования до его регистрации, он доступен.
Я искал эту функцию и обнаружил, что большинство других продуктов (SVN, mercurial) собираются ввести эту функцию в будущем, но она пока недоступна.
...всегда лучше попросить прощения вместо разрешения....
Я обычно делаю проверку в новое место, делаю изменения там, а затем фиксирую.
позже я делаю обновление исходного местоположения, чтобы объединить изменения в мою ранее измененную версию.