SccDiff – funkce
Tato funkce zobrazí (nebo volitelně jenom kontroluje) rozdíly mezi aktuálním souborem (na místním disku) a poslední vrácenou verzí v systému správy zdrojového kódu.
Syntaxe
SCCRTN SccDiff(
LPVOID pvContext,
HWND hWnd,
LPCSTR lpFileName,
LONG fOptions,
LPCMDOPTS pvOptions
);
Parametry
pvContext
[v] Kontextová struktura modulu plug-in správy zdrojového kódu.
Hwnd
[v] Popisovač okna integrovaného vývojového prostředí(IDE), které modul plug-in správy zdrojového kódu může použít jako nadřazený prvek pro všechna dialogová okna, která poskytuje.
lpFileName
[v] Název souboru, pro který se požaduje rozdíl.
FOptions
[v] Příznaky příkazů. Podrobnosti najdete v poznámkách.
pvOptions
[v] Možnosti modulu plug-in správy zdrojového kódu
Vrácená hodnota
Očekává se, že implementace modulu plug-in správy zdrojového kódu této funkce vrátí jednu z následujících hodnot:
Hodnota | Popis |
---|---|
SCC_OK | Funkční verze kopie a serveru jsou identické. |
SCC_I_FILESDIFFERS | Pracovní kopie se liší od verze ve správě zdrojového kódu. |
SCC_I_RELOADFILE | Soubor nebo projekt je potřeba znovu načíst. |
SCC_E_FILENOTCONTROLLED | Soubor není pod správou zdrojového kódu. |
SCC_E_NOTAUTHORIZED | Uživatel nemůže tuto operaci provést. |
SCC_E_ACCESSFAILURE | Při přístupu k systému správy zdrojového kódu došlo k potížím, pravděpodobně kvůli problémům se sítí nebo kolizí. Doporučuje se opakování. |
SCC_E_NONSPECIFICERROR | Nespecifické selhání; rozdíl souboru nebyl získán. |
SCC_E_FILENOTEXIST | Místní soubor nebyl nalezen. |
Poznámky
Tato funkce slouží dvěma různým účelům. Ve výchozím nastavení zobrazí seznam změn v souboru. Modul plug-in správy zdrojového kódu otevře vlastní okno v libovolném formátu, který zvolí, aby se zobrazily rozdíly mezi souborem uživatele na disku a nejnovější verzí souboru ve správě zdrojového kódu.
Případně může integrované vývojové prostředí (IDE) jednoduše potřebovat zjistit, jestli se soubor změnil. Integrované vývojové prostředí (IDE) může například potřebovat určit, jestli je bezpečné rezervovat soubor bez informování uživatele. V takovém případě integrované vývojové prostředí předává příznak SCC_DIFF_CONTENTS
. Modul plug-in správy zdrojového kódu musí zkontrolovat soubor na disku, bajt bajtů, na zdrojovém souboru a vrátit hodnotu označující, jestli se oba soubory liší bez zobrazení čehokoli uživateli.
Jako optimalizaci výkonu může modul plug-in správy zdrojového kódu použít alternativu založenou na kontrolním součtu nebo časovém razítku namísto porovnání bajtů, které volal SCC_DIFF_CONTENTS
: tyto formy porovnání jsou samozřejmě rychlejší, ale méně spolehlivé. Ne všechny systémy správy zdrojového kódu mohou podporovat tyto alternativní metody porovnání a modul plug-in se může muset vrátit k porovnání obsahu. Všechny moduly plug-in správy zdrojového kódu musí minimálně podporovat porovnání obsahu.
Poznámka:
Příznaky rychlého rozdílu se vzájemně vylučují. Je platné předat žádné příznaky, ale není platné, aby současně prošel více než jedním. SCC_DIFF_QUICK_DIFF
, což je maska, která kombinuje všechny příznaky, lze použít k testování, ale nikdy by neměla být předána jako parametr.
fOption |
Význam |
---|---|
SCC_DIFF_IGNORECASE | Porovnání nerozlišující malá a velká písmena (lze použít pro rychlý nebo vizuální rozdíl). |
SCC_DIFF_IGNORESPACE | Ignoruje prázdné znaky (může se použít pro rychlý nebo vizuální rozdíl). |
SCC_DIFF_QD_CONTENTS | Bezobslužně porovnává soubor bajt bajtů. |
SCC_DIFF_QD_CHECKSUM | Bezobslužně porovnává soubor prostřednictvím kontrolního součtu, pokud je podporován. Pokud není podporováno, vrátí se zpět do porovnání obsahu. |
SCC_DIFF_QD_TIME | Bezobslužně porovnává soubor prostřednictvím časového razítka, pokud je podporován. Pokud není podporováno, vrátí se zpět do porovnání obsahu. |