Difference 명령
업데이트: 2007년 11월
두 파일, 두 폴더에 있는 파일 또는 보류 집합과 로컬 또는 서버 파일을 비교하고 가능한 경우 이러한 차이를 표시합니다.
필수 권한
difference 명령을 사용하려면 지정한 모든 항목에 대한 읽기 권한이 허용으로 설정되어 있어야 합니다. 자세한 내용은 Team Foundation Server 권한을 참조하십시오.
tf diff[erence] itemspec [/version:versionspec] [/type:filetype]
[/format:format [/ignorespace] [/ignoreeol] [/ignorecase] [/recursive]
[/options]
tf diff[erence] itemspec itemspec2 [/type:filetype] [/format: format]
[/ignorespace] [/ignoreeol] [/ignorecase] [/recursive] [/options]
tf diff[erence] [/shelveset:shelvesetname[;shelvesetowner]]
shelveset_itemspec [/server: servername] [/type:filetype]
[/format: format] [/ignorespace] [/ignoreeol] [/ignorecase]
[/recursive] [/options]
tf diff[erence] /configure
매개 변수
인수 |
설명 |
---|---|
itemspec |
필수 요소. 비교할 항목을 지정합니다. 버전 또는 경로가 지정되지 않은 경우 현재 작업 영역 버전으로 간주됩니다. 로컬 및 Team Foundation 버전 제어 서버 경로가 모두 허용됩니다. Team Foundation에서 itemspec을 구문 분석하여 범위 내에 있는 항목을 결정하는 자세한 방법은 명령줄 구문(Team System)을 참조하십시오. difference 명령은 와일드카드 문자를 지원하지 않습니다. 이 매개 변수는 /shelveset 옵션과 함께 사용할 수 없습니다. |
Itemspec2 |
선택적 요소. itemspec이 비교되는 항목입니다. 두 번째 itemspec을 제공하지 않을 경우 항목의 최신 Team Foundation 버전 제어 서버 버전이 사용됩니다. |
Filetype |
/type 옵션에 값을 제공합니다. "binary" 또는 "text"와 코드 페이지 번호 또는 코드 페이지의 이름을 지정할 수 있습니다. |
Format |
/format 옵션과 함께 사용되어 다음 형식 중 하나인 출력 형식을 지정합니다.
이러한 출력 형식은 이 항목의 설명 섹션에 설명되어 있습니다. |
Versionspec |
/version 옵션에 대한 사용자 제공 값입니다. Team Foundation에서 버전 사양을 구문 분석하여 범위 내에 있는 항목을 결정하는 자세한 방법은 명령줄 구문(Team System)을 참조하십시오. |
servername |
/server 옵션에 대한 사용자 제공 값(예: teamfoundation2)입니다. |
Shelvesetowner |
사용자 이름으로 보류 집합의 소유자를 식별합니다. 이 매개 변수의 값을 제공하지 않을 경우 현재 사용자로 간주됩니다. |
Shelvesetname |
보류 집합 이름을 지정합니다. Team Foundation Server에 이름이 같은 둘 이상의 보류 집합이 있을 수 있는데 이 경우 각각의 보류 집합을 서로 다른 사용자가 소유하고 있어야 합니다. |
Shelveset_itemspec |
기본 보류 집합 버전과 비교할 보류 집합의 폴더 또는 파일의 이름을 지정합니다. |
옵션 |
설명 |
---|---|
/type |
감지된 모든 인코딩을 재정의하고 지정된 인코딩을 사용하여 파일을 비교 작업 엔진에 제공합니다. |
/version |
비교할 파일 또는 폴더의 버전을 지정합니다. versionspec을 제공하지 않을 경우 Team Foundation에서는 기본적으로 작업 영역 버전이 사용됩니다. /version 플래그를 사용하는 대신에 각 파일 이름의 끝에 세미콜론과 버전 지정자를 추가하여 버전을 지정할 수 있습니다. |
/format |
format 인수에 의해 지정되는 출력 형식을 지정합니다. |
/ignorespace |
비교된 파일 간의 공백 차이를 강조 표시하지 않습니다. |
/ignoreeol |
두 파일 또는 파일 버전에서 줄 바꿈 문자 간의 차이를 무시합니다. /ignoreeol은 /ignoreSpace와 다르게 작동합니다. /ignorespace는 8개의 공백을 동일하게 하나로 처리합니다. 그러나 /ignoreeol 옵션이 사용되고 파일 A에서 변경되지 않은 텍스트 영역 사이에 두 개의 줄 바꿈 문자가 있으며 파일 B에 하나의 줄 바꿈 문자가 있을 경우 이러한 차이가 결과로 표시됩니다. 두 파일에 줄 바꿈이 하나만 있지만 파일 A에서 \r\n이 줄 바꿈으로 사용되고 파일 B에서 \n이 사용될 경우 /ignoreEOL 옵션은 이러한 차이를 무시합니다. |
/ignorecase |
비교된 파일 간의 대/소문자 차이를 강조 표시하지 않습니다. |
/recursive |
현재 폴더와 모든 하위 폴더 사이의 차이를 비교합니다. |
/options |
diff에 의해 호출되는 도구의 옵션 문자열을 지정합니다. 자세한 내용은 방법: 차이점 도구에 파일 형식 연결 및 방법: 병합 도구에 파일 형식 연결을 참조하십시오. |
/server |
Team Foundation Server를 식별합니다. 이 옵션은 작업 영역에 매핑되지 않은 디렉터리에서 명령이 호출될 경우 필요합니다. |
/shelveset |
보류 집합의 기반이 되는 Team Foundation 버전 제어 서버 버전과 비교할 보류 집합을 지정합니다. 이 옵션은 itemspec 인수와 함께 사용할 수 없습니다. 개별 보류 집합 항목을 비교하려면 shelveset_itemspec을 제공합니다. |
/noprompt |
이 작업 완료 중에 표시되는 모든 대화 상자를 표시하지 않습니다. |
/configure |
사용자 도구 구성 대화 상자를 호출합니다. 이 도구는 Visual Studio 사용자 인터페이스에서 사용할 수 있습니다. 자세한 내용은 방법: 차이점 도구에 파일 형식 연결을 참조하십시오. |
설명
참고: |
---|
명령줄에서 tf diff 또는 tf difference를 입력하여 이 명령을 실행할 수 있습니다. |
difference 명령을 사용하여 다음 항목 사이의 차이를 비교하고 가능한 경우 이러한 차이를 표시할 수 있습니다.
두 개의 다른 파일 또는 동일한 파일의 두 버전
폴더에 있는 하나 이상의 항목
Team Foundation Server의 보류 집합에 있는 하나, 여러 개 또는 모든 항목
difference 명령을 사용하여 버전이 있는 파일과 버전이 없는 파일을 모두 비교할 수 있습니다.
Team Foundation에서 모든 파일은 형식별로 분류됩니다. 인코딩이 같은 두 개의 텍스트 파일은 나란히 한 줄씩 병합 및 비교할 수 있습니다. 인코딩이 다른 두 개의 파일을 비교하려면 /type 옵션을 사용하여 파일의 인코딩 속성을 임시로 마스킹하거나 재정의해야 합니다. 이진 파일은 비교할 수 있지만 병합할 수는 없습니다. 하나 이상의 이진 파일을 difference 명령에 전달할 경우 Team Foundation은 해당 파일 및 파일과 비교되는 항목 사이에 차이가 있는지 여부를 표시합니다. Team Foundation에서 파일 형식을 구별하고 형식이 서로 다른 파일을 처리하는 방법에 대한 자세한 내용은 파일 형식을 참조하십시오.
두 개의 파일 이름을 지정할 경우 두 파일이 비교됩니다. /version 플래그를 사용하는 대신에 각 파일 이름의 끝에 세미콜론과 버전 지정자를 추가하여 버전을 지정할 수 있습니다.
itemspec 하나만 difference 명령에 전달할 경우 다음과 같습니다.
versionspec을 제공하지 않을 경우 기본적으로 항목의 현재 작업 영역 버전이 기본 작업 영역 버전과 비교됩니다. 예를 들어 tf difference header.h는 header.h의 현재 버전을 header.h의 기반이 되는 버전과 비교합니다.
versionspec을 itemspec에 포함할 경우(예: tf difference header.h;LBeta1) Team Foundation은 해당 버전을 디스크의 현재 작업 영역 버전과 비교합니다.
버전 범위를 지정할 경우(예: /version:C1~C4) 범위의 두 끝점에 있는 파일의 버전이 비교됩니다.
tf 명령줄 유틸리티를 검색하는 방법에 대한 자세한 내용은 Tf 명령줄 유틸리티 명령을 참조하십시오.
출력 형식 유형
format 매개 변수는 /format 옵션과 함께 사용되어 여러 다른 출력 형식을 지정합니다. 사용 가능한 출력 형식은 다음과 같습니다.
Visual
Visual 형식 유형은 외부 차이 응용 프로그램을 엽니다. 기본적으로 diffmerge.exe가 시작됩니다.
Brief
Brief 형식은 비교하는 파일이 다른지 여부를 인쇄합니다.
Context
Context 형식은 파일의 차이에 대한 컨텍스트 줄을 제공합니다. 이 형식은 UNIX 기반 diff –c 출력 형식에서 파생됩니다.
RCS
RCS 형식은 컨텍스트 줄이 제공되지 않는다는 점을 제외하면 /format:unix와 비슷합니다.
파일의 맨 끝에서 줄의 끝 마커가 누락된 경우를 위한 특수한 처리 방법이 제공되지 않습니다.
SS
SS는 Visual SourceSafe의 기본 차이 출력 형식입니다. 자세한 내용은 Microsoft 웹 사이트에서 "Diff (File) (Command Line)"(https://go.microsoft.com/fwlink/?LinkId=99139)를 참조하십시오.
SS_SideBySide
SS_SideBySide는 Visual SourceSafe의 기본 side-by-side 출력 형식입니다.
SS_Unix
SS_Unix는 /format:unix 출력 형식과 비슷하지만 /format:ss_unix에는 컨텍스트 줄이 포함되고 /format:unix에는 포함되지 않습니다.
Unified
Unified 형식은 UNIX 기반 diff –u 출력 형식에서 파생됩니다. /format:unified와 달리 /format:context는 차이 문자열 사이에서 동일한 컨텍스트 줄을 반복합니다.
Unified 형식은 다음 차이 문자열까지의 거리가 컨텍스트 줄 수보다 클 경우에만 새로운 통합 차이 문자열(@@ ... @@) 줄을 생성합니다.
Unix
이 출력 형식은 UNIX 기반 diff 명령 출력 형식에서 파생됩니다.
Unix 출력 형식은 다음 방법으로 생성됩니다.
<metadataline> "< " line prefix for lines from the first file "---" line "> " line prefix for lines from the second file <metadataline> can be one of these possibilities: #a#,# -- add lines from line # in file1 into file2 at lines #-># #,#d# -- delete lines from line # -> # in file 1 from file2 at line # #,#c#,# -- change lines from line # -> # in file1 into the lines in file2 at line # -> # # signs seprated by commas indicate a line range. # signs before the character indicate line numbers in the first file # signs after the character indidicate line numbers in the second file /// No end of line marker at the end of the file: /// \ No newline at end of file
예제
다음 예제에서는 Team Foundation 버전 제어 서버에서 체크 아웃된 파일의 버전인 314.cs의 작업 영역 버전과 314.cs의 로컬 버전 사이의 차이를 표시합니다.
c:\projects>tf difference 314.cs
다음 예제에서는 src 폴더에서 변경된 모든 파일을 표시합니다. src의 하위 폴더에서 변경된 파일은 표시하지 않습니다.
c:\projects>tf difference src /format:visual
다음 예제는 1254.cs의 변경 집합 3과 변경 집합 8 사이의 차이를 표시합니다.
c:\projects>tf difference /version:C3~C8 1254.cs
다음 예제에서는 레이블 "release"에 속하는 314.cs의 버전과 변경 집합 3200에 속하는 버전 사이의 차이를 표시합니다.
c:\projects>tf difference 314.cs;Lrelease 314.cs;C3200
-또는-
c:\projects>tf difference 314.cs;Lrelease~C3200
다음 예제에서는 Nadia라는 사용자가 보류 집합 PeerCodeReview8에 보류한 e271.cs의 버전과 이 사용자의 변경 내용이 기준 버전인 기본 보류 집합 버전 사이의 차이를 표시합니다. 또한 Nadia가 보류할 때 e271.cs에 대해 보류 중이던 변경 내용의 형식을 표시합니다.
c:\projects> tf difference /shelveset:PeerCodeReview8;Nadia e271.cs
다음 예제에서는 PeerCodeReview2 보류 집합의 모든 파일과 이러한 파일의 기본 보류 집합 버전 사이의 차이를 표시합니다.
c:\projects> tf difference /shelveset:PeerCodeReview2