この関数は、クライアント ディスク上の現在のローカル ディレクトリと、ソース管理下にある対応するプロジェクトの差異を表示します。
構文
SCCRTN SccDirDiff(
LPVOID pContext,
HWND hWnd,
LPCSTR lpDirName,
LONG dwFlags,
LPCMDOPTS pvOptions
);
パラメーター
pContext
[入力] ソース管理プラグインのコンテキスト構造体。
hWnd
[入力] ソース管理プラグインが、提供するすべてのダイアログ ボックスの親として使用できる IDE ウィンドウへのハンドル。
lpDirName
[入力] ビジュアルな差異を表示するローカル ディレクトリの完全修飾パス。
dwFlags
[入力] コマンド フラグ (「解説」を参照してください)。
pvOptions
[入力] ソース管理プラグイン固有のオプション。
戻り値
この関数のソース管理プラグインの実装では、次のいずれかの値が返されることが予期されています。
Value | 説明 |
---|---|
SCC_OK | ディスク上のディレクトリは、ソース コード管理下にあるプロジェクトと同じです。 |
SCC_I_FILESDIFFER | ディスク上のディレクトリは、ソース コード管理下にあるプロジェクトと異なります。 |
SCC_I_RELOADFILE | ファイルまたはプロジェクトを再度読み込む必要があります。 |
SCC_E_FILENOTCONTROLLED | ディレクトリはソース コード管理されていません。 |
SCC_E_NOTAUTHORIZED | ユーザーには、この操作の実行が許可されていません。 |
SCC_E_ACCESSFAILURE | ソース管理システムへのアクセス中に問題が発生しました。ネットワークまたは競合の問題である可能性があります。 再試行することをお勧めします。 |
SCC_E_NONSPECIFICERROR SCC_E_UNKNOWNERROR |
不特定のエラーです。 |
SCC_E_FILENOTEXIST | ローカル ディレクトリが見つかりませんでした。 |
解説
この関数は、指定されたディレクトリに対する変更の一覧をユーザーに表示するようにソース管理プラグインに指示するために使用されます。 プラグインによって、選択された形式で独自のウィンドウが開き、ディスク上のユーザーのディレクトリとバージョン管理下にある対応するプロジェクトの差異が表示されます。
プラグインでディレクトリの比較がサポートされている場合は、"クイック diff" オプションがサポートされていない場合でも、ファイル名に基づいたディレクトリの比較がサポートされる必要があります。
dwFlags |
解釈 |
---|---|
SCC_DIFF_IGNORECASE | 大文字と小文字を区別しない比較 (クイック diff またはビジュアルに使用できます)。 |
SCC_DIFF_IGNORESPACE | 空白を無視します (クイック diff またはビジュアルに使用できます)。 |
SCC_DIFF_QD_CONTENTS | ソース管理プラグインによってサポートされている場合、ディレクトリをバイト単位で自動的に比較します。 |
SCC_DIFF_QD_CHECKSUM | プラグインでサポートされている場合、チェックサムを使用してディレクトリを自動的に比較します。サポートされていない場合は、SCC_DIFF_QD_CONTENTS にフォールバックします。 |
SCC_DIFF_QD_TIME | プラグインでサポートされている場合、タイムスタンプを使用してディレクトリを自動的に比較します。サポートされていない場合は、SCC_DIFF_QD_CHECKSUM または SCC_DIFF_CONTENTS にフォールバックします。 |
Note
この関数では、SccDiff と同じコマンド フラグを使用します。 ただし、ソース管理プラグイン プロバイダーで、ディレクトリの "クイック diff" 操作をサポートしないことを選択できます。