2012-05-23 2 views
6

우리는 6.1 버전의 지점에서 일부 작업을 수행 한 프로젝트를 가지고 있습니다. 6.1 분기 (변경 집합 1800)에서 변경된 사항 중 하나가 버그 수정이었으며 다른 누군가가 6.0 릴리스의 패치를받을만큼 긴급하다고 판단했습니다.Visual Studio의 한 지점에서 다른 지점으로 diff 적용 패치 TFS

이제 변경 세트 1800 이전과 이후에 해당 파일이 변경되었습니다. 그들이 원하는 것은 패치를 6.0에 적용하기위한 것입니다. http://linux.die.net/man/1/patch 당으로

, 그것을 할 수있는 가장 좋은 방법은 1799으로 변경 집합 1800를 비교하여 DIFF 파일을 만들 하는 것입니다, 다음 6.0에 패치으로 그은 diff 파일을 적용 할 것으로 보인다. 나는 TFS에서 이것을 어디에서 시작해야할지조차 모른다.

대체 계획으로, 나는 항상 changeset 1800의 차이점을 손으로 훑어보고 패치 할 최신 버전의 제작물로 복사 할 수 있지만 가능한 경우 올바르게 수행하려고합니다.

을 제외하고 : 나는 단지 DIFF을 적용하여, 당신은 1799> 1800 DIFF에 포함 된 코드의 일부는 현재 생산 버전 및 변경 집합 1799 사이에 설립 된 코드에 의존한다는 사실을 위험 이해 diff 패치가 적용된 후 신속하게 제작 및 테스트하여 쉽게 확인할 수 있습니다. 우리는 그것에 대해 걱정하지 않습니다.

변경 집합 TFS에서

파일의 절대 내용을 저장하지 않지만, 그 차이는 (라인, 삭제, 추가, 변경) :

+0

내가 diff를보고 복사물을 수동으로 체크 아웃 한 사본에 복사하여 붙여 넣어야했는데, 이는 바쁘기 때문에 변경 사항을 TFS 명령에 내장하여 사용하는 방법을 알고 싶습니다. 미래. 고급 TFS를위한 어딘가에 커맨드 라인 유틸리티가 있다는 것을 알고 있습니다. – Alain

답변

9

좋아, 내가 완전히 이해 모르겠지만, 여기 있습니다.

버전 6.1에서 6.0으로 버그 수정을보고하고이 수정 사항이 변경 세트 1800 (및이 수정 사항 이상)에 포함되어 있으면 해당 변경 세트를 버전 6.0에 병합하기 만하면됩니다. 변경 집합 1800 이전에 만들어진 모든 변경 사항은 6.0에 병합되지 않으며이 변경 집합에서 수행 한 작업 만 병합됩니다. 대상 하나에 소스에서 선택한 변경 집합을 병합

  1. 대상 일
  2. 에 소스 지점에서 모든 변경 사항을 병합 : 당신이 병합을 수행 할 때

    은 두 가지 옵션이 있습니다.

두 번째 것을 사용하고 변경 세트 1800을 지정하면 문제가 없습니다.

일부 사진 :

enter image description here

enter image description here

가 만 선택한 변경 집합이 병합됩니다.

+0

병합> 선택한 변경 집합>을 선택한 다음 "1800"을 선택하면 * 1800을 포함하여 모든 항목을 병합하려고 시도합니다.이 기능을 사용하여 1799 년과 1800 년 사이에 변경된 내용을 병합하는 또 다른 방법이 있음을 확인 했습니까? – Alain

+0

질문을 올바르게 이해하면 6.1에 속하지 않는 6.0 지점에는 아무 것도 없습니까? 그렇다면 실제 변경 세트 병합에 대한 6.0에서 6.1 _prior까지의 완전한 병합이 도움이 될 수 있습니다. __ 그리고 __ 그리고 그것은 변경 집합에만 차이점을 포함하는 TFS 2010에서만 발생합니다. 그 전에 병합을하는 것은 매우 까다 롭습니다. –

+0

내 대답이 업데이트되었지만 어디서 찾았는지 알 수 없습니다. 내가 스크린 샷과 함께 제공 한 방법을 사용하지 않고 있으며, 선택한 것일 뿐이므로 보증합니다. – Nock

관련 문제