Difference 명령

두 파일, 두 폴더에 있는 파일 또는 보류 집합과 로컬 또는 서버 파일을 비교하고 가능한 경우 이러한 차이를 표시합니다.

필요한 권한

difference 명령을 사용하려면 지정한 모든 항목에 대한 읽기 권한이 허용으로 설정되어 있어야 합니다. 자세한 내용은 Team Foundation Server 권한을 참조하십시오.

tf diff[erence] itemspec [/version:versionspec] [/type:filetype] 
[/format:format [/ignorespace] [/ignoreeol] [/ignorecase] [/recursive] 
[/options][/noprompt][/login:username,[password]]

tf diff[erence] itemspec itemspec2 [/type:filetype] [/format: format] 
[/ignorespace] [/ignoreeol] [/ignorecase] [/recursive] [/options] [/noprompt][/login:username,[password]]

tf diff[erence] [/shelveset:shelvesetname[;shelvesetowner]] 
shelveset_itemspec [/type:filetype] 
[/format: format] [/ignorespace] [/ignoreeol] [/ignorecase] 
[/recursive] [/options] [/noprompt][/login:username,[password]]

tf diff[erence] /configure

매개 변수

인수

설명

itemspec

필수적 요소로서, 비교할 항목을 지정합니다. 버전 또는 경로가 지정되지 않은 경우 현재 작업 영역 버전으로 간주됩니다. 로컬 및 Team Foundation 버전 제어 서버 경로가 모두 허용됩니다.

Team Foundation에서 itemspec을 구문 분석하여 범위 내에 있는 항목을 결정하는 자세한 방법은 명령줄 구문(버전 제어)을 참조하십시오.

difference 명령은 와일드카드 문자를 지원하지 않습니다.

이 매개 변수는 /shelveset 옵션과 함께 사용할 수 없습니다.

Itemspec2

선택적 요소로서, itemspec이 비교되는 항목입니다. 두 번째 itemspec을 제공하지 않을 경우 항목의 최신 Team Foundation 버전 제어 서버 버전이 사용됩니다.

Filetype

/type 옵션에 값을 제공합니다. "binary" 또는 "text"와 코드 페이지 번호 또는 코드 페이지의 이름을 지정할 수 있습니다.

Format

/format 옵션과 함께 사용되어 다음 형식 중 하나인 출력 형식을 지정합니다.

  • Visual

  • Brief

  • 컨텍스트

  • RCS

  • SS

  • SS_SideBySide

  • SS_Unix

  • Unified

  • Unix

이러한 출력 형식은 이 항목의 설명 섹션에 설명되어 있습니다.

Versionspec

/version 옵션에 대한 사용자 제공 값입니다. Team Foundation에서 버전 사양을 구문 분석하여 범위 내에 있는 항목을 결정하는 자세한 방법은 명령줄 구문(버전 제어)을 참조하십시오.

Shelvesetowner

사용자 이름으로 보류 집합의 소유자를 식별합니다. 이 매개 변수의 값을 제공하지 않을 경우 현재 사용자로 간주됩니다.

Shelvesetname

보류 집합 이름을 지정합니다. Team Foundation Server를 실행하는 서버에 이름이 같은 둘 이상의 보류 집합을 만들 수 있는데 이 경우 각각의 보류 집합을 서로 다른 사용자가 소유하고 있어야 합니다.

Shelveset_itemspec

기본 보류 집합 버전과 비교할 보류 집합의 폴더 또는 파일의 이름을 지정합니다.

username

/login 옵션에 값을 제공합니다. 사용자 이름 값을 DOMAIN\UserName 또는 UserName으로 지정할 수 있습니다.

Option

설명

/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에 의해 호출되는 도구의 옵션 문자열을 지정합니다. 자세한 내용은 차이점 도구에 파일 형식 연결병합 도구와 파일 형식 연결을 참조하십시오.

/shelveset

보류 집합의 기반이 되는 Team Foundation 버전 제어 서버 버전과 비교할 보류 집합을 지정합니다.

이 옵션은 itemspec 인수와 함께 사용할 수 없습니다. 개별 보류 집합 항목을 비교하려면 shelveset_itemspec을 제공합니다.

/noprompt

이 작업 완료 중에 표시되는 모든 대화 상자를 표시하지 않습니다.

/configure

사용자 도구 구성 대화 상자를 호출합니다. 이 도구는 Visual Studio 사용자 인터페이스에서 사용할 수 있습니다. 자세한 내용은 차이점 도구에 파일 형식 연결을 참조하십시오.

/login

Team Foundation Server에서 사용자를 인증할 사용자 이름과 암호를 지정합니다.

설명

참고

명령줄에서 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

참고 항목

참조

Merge 명령

Checkin 명령

Shelvesets 명령

개념

파일 형식 관리

기타 리소스

Tf 명령줄 유틸리티 명령

폴더 및 파일 비교