Создание патча с помощью TFS

Создать патч в SubVersion очень просто. В Tortoise вы щелкаете правой кнопкой мыши и выбираете Create Patch. Но для жизни я не могу найти эту функцию в TFS. Это возможно?

Если нет, каков стандартный способ отправки исправлений в проекты с открытым исходным кодом, размещенные в TFS (а-ля CodePlex)?


person swilliams    schedule 09.09.2008    source источник


Ответы (3)


tf diff /shelveset:shelveset /format:unified

Редактировать: это записывает в стандартный вывод. Вы можете направить вывод в файл.

Дополнительные параметры см. в разделе команда Difference. .

person Curt Hagenlocher    schedule 09.09.2008
comment
Можете ли вы объяснить немного больше? 1. Как бы вы применили этот патч? 2. Кроме того, если проект доступен только для чтения патчеру, он не может создать полочный набор, не так ли? - person Doron Yaacoby; 12.01.2010
comment
Существует стандартная программа UNIX под названием patch, которая применяет унифицированные различия к деревьям исходного кода. Я уверен, что вы могли бы найти реализацию Windows или использовать Cygwin. - person Curt Hagenlocher; 31.01.2010
comment
@Doron отображает все различия между полкой и текущей папкой рабочей области в формате, аналогичном: hg.shrinkrays.net/spruce/changeset/0d00e3c15e2c/raw/ - person Chris S; 27.01.2011
comment
Как передать | в файл? Я думал, вам нужно перенаправить > в файл. - person JJS; 06.06.2014
comment
Если вы еще этого не сделали: в меню «Пуск» перейдите к Visual Studio, «Инструменты», «Командная строка». Затем перейдите в папку где-нибудь в локальном дереве рабочей области, например. c:\build\myProject\src - person Spike0xff; 08.07.2014

Поскольку TFS изначально не поддерживает файлы исправлений, чаще всего, как я вижу, люди делают на CodePlex просто архивирование измененных файлов и загрузку архива. Затем координатор проекта делает сравнение со своей собственной проверкой.

Однако, поскольку CodePlex также поддерживает TortoiseSVN, все больше и больше людей используют его для создания своих файлов исправлений.

person jwanagel    schedule 17.09.2008

Я написал сообщение в блоге о похожей проблеме, где я использовал команду TF.exe и 7Zip для создайте файл исправления TFS, который затем можно будет применить на другом сервере TFS или в рабочей области. Я разместил сценарии Powershell на Github, которые можно использовать для архивирования любого ожидающие изменения в одной рабочей области, а затем применить их к другому серверу. Его нужно будет изменить, чтобы использовать набор изменений вместо ожидающих изменений, но это не должно быть слишком сложно выполнить.

person Greg Bray    schedule 14.09.2014
comment
Этот скрипт использует весь файл, а не отдельные строки. Больше контролируемого xcopy - person JJS; 03.11.2015