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 | 지원되는 경우 해당 타임스탬프를 통해 파일을 자동으로 비교합니다. 지원되지 않는 경우 내용 비교로 대체됩니다. |