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.

Viz také