다음을 통해 공유


SccDiff 함수

이 함수는 현재 파일(로컬 디스크)과 소스 제어 시스템의 마지막 체크 인 버전 간의 차이를 표시하거나 선택적으로 확인만 합니다.

구문

SCCRTN SccDiff(
   LPVOID    pvContext,
   HWND      hWnd,
   LPCSTR    lpFileName,
   LONG      fOptions,
   LPCMDOPTS pvOptions
);

매개 변수

pvContext

[in] 소스 제어 플러그 인 컨텍스트 구조입니다.

hWnd

[in] 소스 제어 플러그 인이 제공하는 대화 상자의 부모로 사용할 수 있는 IDE 창에 대한 핸들입니다.

lpFileName

[in] 차이가 요청된 파일 이름입니다.

fOptions

[in] 명령 플래그입니다. 자세한 내용은 설명을 참조하세요.

pvOptions

[in] 소스 제어 플러그 인 관련 옵션입니다.

반환 값

이 함수의 소스 제어 플러그 인 구현은 다음 값 중 하나를 반환해야 합니다.

Description
SCC_OK 작업 복사본과 서버 버전이 동일합니다.
SCC_I_FILESDIFFERS 작업 복사본이 소스 제어 상태의 버전과 다릅니다.
SCC_I_RELOADFILE 파일 또는 프로젝트를 다시 로드해야 합니다.
SCC_E_FILENOTCONTROLLED 파일이 소스 제어에서 사용되고 있지 않습니다.
SCC_E_NOTAUTHORIZED 사용자는 이 작업을 수행할 수 없습니다.
SCC_E_ACCESSFAILURE 네트워크 또는 경합 문제로 인해 소스 제어 시스템에 액세스하는 데 문제가 발생했습니다. 다시 시도하는 것이 좋습니다.
SCC_E_NONSPECIFICERROR 일반적인 오류입니다. 파일 차이를 가져오지 못했습니다.
SCC_E_FILENOTEXIST 로컬 파일을 찾을 수 없습니다.

설명

이 함수는 두 가지 용도로 사용됩니다. 기본적으로 파일에 대한 변경 내용의 목록을 표시합니다. 소스 제어 플러그 인은 선택한 형식에 관계없이 자체 창을 열어 디스크의 사용자 파일과 소스 제어에 사용되는 파일의 최신 버전 간의 차이를 표시합니다.

또는 IDE는 파일이 변경되었는지 여부를 확인하기만 하면 될 수 있습니다. 예를 들어 IDE는 사용자에게 알리지 않고 파일을 체크 아웃하는 것이 안전한지 확인해야 할 수 있습니다. 이 경우 IDE는 SCC_DIFF_CONTENTS 플래그를 전달합니다. 소스 제어 플러그 인은 디스크의 파일을 소스 제어 파일과 바이트 단위로 비교하여 사용자에게 아무것도 표시하지 않고 두 파일이 서로 다른지 여부를 나타내는 값을 반환해야 합니다.

성능 최적화를 위해 소스 제어 플러그 인은 SCC_DIFF_CONTENTS에 요구되는 바이트 단위 비교 대신 체크섬 또는 타임스탬프를 기반으로 하는 대안을 사용할 수 있습니다. 이러한 형태의 비교는 분명히 더 빠르지만 신뢰성이 떨어집니다. 모든 소스 제어 시스템이 이러한 대체 비교 방법을 지원할 수 있는 것은 아니며, 플러그 인은 내용 비교로 대체해야 할 수 있습니다. 모든 소스 제어 플러그 인은 최소한 내용 비교를 지원해야 합니다.

참고 항목

빠른 차이 플래그는 상호 배타적입니다. 플래그를 전달하지 않는 것은 유효하지만 둘 이상의 플래그를 동시에 전달하는 것은 유효하지 않습니다. 모든 플래그를 결합하는 마스크인 SCC_DIFF_QUICK_DIFF는 테스트에 사용할 수 있지만 매개 변수로 전달해서는 안 됩니다.

fOption 의미
SCC_DIFF_IGNORECASE 대/소문자를 구분하지 않는 비교입니다(빠른 차이 또는 시각적 차이에 사용할 수 있음).
SCC_DIFF_IGNORESPACE 공백을 무시합니다(빠른 차이 또는 시각적 차이에 사용할 수 있음).
SCC_DIFF_QD_CONTENTS 파일을 자동으로 비교합니다(바이트 단위).
SCC_DIFF_QD_CHECKSUM 지원되는 경우 체크섬을 통해 파일을 자동으로 비교합니다. 지원되지 않는 경우 내용 비교로 대체됩니다.
SCC_DIFF_QD_TIME 지원되는 경우 해당 타임스탬프를 통해 파일을 자동으로 비교합니다. 지원되지 않는 경우 내용 비교로 대체됩니다.

참고 항목