SccCheckin 函式
此函式會檢查先前取出的檔案到原始檔控制系統,儲存變更並建立新版本。 此函式會使用要簽入之檔案的計數和檔名陣列來呼叫。
語法
SCCRTN SccCheckin (
LPVOID pvContext,
HWND hWnd,
LONG nFiles,
LPSTR* lpFileNames,
LPCSTR lpComment,
LONG fOptions,
LPCMDOPTS pvOptions
);
參數
pvContext
[in]原始檔控制外掛程式內容結構。
hWnd
[in]SCC 外掛程式可作為其提供之任何對話框之父代的 IDE 視窗句柄。
nFiles
[in]選取要簽入的檔案數目。
lpFileNames
[in]要簽入之檔案的完整本機路徑名稱陣列。
lpComment
[in]要套用至要簽入之每個選取檔案的批注。 如果原始檔控制外掛程式應該提示批註,則此參數為 NULL
。
fOptions
[in]命令旗標,可以是 0 或 SCC_KEEP_CHECKEDOUT
。
pvOptions
[in]SCC 外掛程式特定選項。
傳回值
此函式的原始檔控制外掛程式實作應該會傳回下列其中一個值:
值 | Description |
---|---|
SCC_OK | 已成功簽入檔案。 |
SCC_E_FILENOTCONTROLLED | 選取的檔案不在原始程式碼控制之下。 |
SCC_E_ACCESSFAILURE | 存取原始檔控制系統時發生問題,可能是因為網路或爭用問題。 建議重試。 |
SCC_E_NONSPECIFICERROR | 非特定失敗。 檔案未存入。 |
SCC_E_NOTCHECKEDOUT | 使用者尚未取出檔案,因此無法簽入檔案。 |
SCC_E_CHECKINCONFLICT | 無法執行 Checkin,因為: - 其他使用者已提前簽入,且 bAutoReconcile 為 false。-或- - 無法完成自動合併(例如,當檔案是二進位檔時)。 |
SCC_E_VERIFYMERGE | 檔案已自動合併,但尚未簽入擱置的用戶驗證。 |
SCC_E_FIXMERGE | 檔案已自動合併,但因必須手動解決的合併衝突而尚未簽入。 |
SCC_E_NOTAUTHORIZED | 不允許使用者執行這項作業。 |
SCC_I_OPERATIONCANCELED | 作業在完成之前已取消。 |
SCC_I_RELOADFILE | 必須重載檔案或專案。 |
SCC_E_FILENOTEXIST | 找不到本機檔案。 |
備註
批註適用於正在簽入的所有檔案。 批註自變數可以是 null
字串,在此情況下,原始檔控制外掛程式可以提示使用者輸入每個檔案的批註字串。
fOptions
自變數可以指定 旗標的值SCC_KEEP_CHECKEDOUT
,以指出使用者要簽入檔案的意圖,然後再簽出一次。