SccDiff-Funktion
Diese Funktion zeigt (oder optional nur überprüft) die Unterschiede zwischen der aktuellen Datei (auf dem lokalen Datenträger) und der letzten eingecheckten Version im Quellcodeverwaltungssystem an.
Syntax
SCCRTN SccDiff(
LPVOID pvContext,
HWND hWnd,
LPCSTR lpFileName,
LONG fOptions,
LPCMDOPTS pvOptions
);
Parameter
pvContext
[in] Die Kontextstruktur des Quellcodeverwaltungs-Plug-Ins.
hWnd
[in] Ein Handle für das IDE-Fenster, das das Quellcodeverwaltungs-Plug-In als übergeordnetes Element für alle von ihr bereitgestellten Dialogfelder verwenden kann.
lpFileName
[in] Dateiname, für den der Unterschied angefordert wird.
Foptions
[in] Befehlskennzeichnungen. Weitere Informationen finden Sie im Abschnitt Hinweise.
pvOptions
[in] Plug-In-spezifische Optionen für die Quellcodeverwaltung.
Rückgabewert
Die Plug-In-Implementierung dieser Funktion für die Quellcodeverwaltung wird voraussichtlich einen der folgenden Werte zurückgeben:
Wert | Beschreibung |
---|---|
SCC_OK | Die Arbeitskopie und die Serverversion sind identisch. |
SCC_I_FILESDIFFERS | Die Arbeitskopie unterscheidet sich von der Version unter Quellcodeverwaltung. |
SCC_I_RELOADFILE | Eine Datei oder ein Projekt muss neu geladen werden. |
SCC_E_FILENOTCONTROLLED | Die Datei befindet sich nicht unter der Quellcodeverwaltung. |
SCC_E_NOTAUTHORIZED | Der Benutzer darf diesen Vorgang nicht ausführen. |
SCC_E_ACCESSFAILURE | Es gab ein Problem beim Zugriff auf das Quellcodeverwaltungssystem, wahrscheinlich aufgrund von Netzwerk- oder Inhaltsproblemen. Es wird ein Wiederholungsversuche empfohlen. |
SCC_E_NONSPECIFICERROR | Nicht spezifischer Fehler; Dateiunterschied wurde nicht abgerufen. |
SCC_E_FILENOTEXIST | Die lokale Datei wurde nicht gefunden. |
Hinweise
Diese Funktion dient zwei verschiedenen Zwecken. Standardmäßig wird eine Liste der Änderungen an einer Datei angezeigt. Das Quellcodeverwaltungs-Plug-In öffnet ein eigenes Fenster, in welchem Format es sich entscheidet, um die Unterschiede zwischen der Datei des Benutzers auf dem Datenträger und der neuesten Version der Datei unter Quellcodeverwaltung anzuzeigen.
Alternativ muss die IDE möglicherweise einfach ermitteln, ob sich eine Datei geändert hat. Beispielsweise muss die IDE möglicherweise ermitteln, ob eine Datei sicher ausgecheckt werden kann, ohne den Benutzer darüber zu informieren. In diesem Fall übergibt die IDE das SCC_DIFF_CONTENTS
Flag. Das Quellcodeverwaltungs-Plug-In muss die Datei auf dem Datenträger, byte Byte, anhand der quellgesteuerten Datei überprüfen und einen Wert zurückgeben, der angibt, ob die beiden Dateien unterschiedlich sind, ohne dem Benutzer etwas anzuzeigen.
Als Leistungsoptimierung kann das Quellcodeverwaltungs-Plug-In eine Alternative basierend auf einer Prüfsumme oder einem Zeitstempel anstelle des byte-by-Byte-Vergleichs verwenden, der von SCC_DIFF_CONTENTS
: diese Vergleichsformen sind offensichtlich schneller, aber weniger zuverlässig. Nicht alle Quellcodeverwaltungssysteme unterstützen diese alternativen Vergleichsmethoden, und das Plug-In muss möglicherweise auf einen Inhaltsvergleich zurückgreifen. Alle Quellcodeverwaltungs-Plug-Ins müssen mindestens einen Inhaltsvergleich unterstützen.
Hinweis
Die Schnelldifferenzkennzeichnungen schließen sich gegenseitig aus. Es ist gültig, keine Flags zu übergeben, ist aber nicht gültig, um mehrere gleichzeitig zu übergeben. SCC_DIFF_QUICK_DIFF
, bei dem es sich um eine Maske handelt, die alle Flags kombiniert, kann zum Testen verwendet werden, sollte aber niemals als Parameter übergeben werden.
fOption |
Bedeutung |
---|---|
SCC_DIFF_IGNORECASE | Vergleich zwischen Groß- und Kleinschreibung (kann für schnelle oder visuelle Unterschiede verwendet werden). |
SCC_DIFF_IGNORESPACE | Ignoriert Leerzeichen (kann für schnelle oder visuelle Unterschiede verwendet werden). |
SCC_DIFF_QD_CONTENTS | Vergleicht die Datei im Hintergrund, byte byte byte. |
SCC_DIFF_QD_CHECKSUM | Vergleicht die Datei automatisch über eine Prüfsumme, wenn sie unterstützt wird. Falls nicht unterstützt, wird ein Vergleich von Inhalten durchgeführt. |
SCC_DIFF_QD_TIME | Vergleicht die Datei im Hintergrund über den Zeitstempel, wenn sie unterstützt wird. Falls nicht unterstützt, wird ein Vergleich von Inhalten durchgeführt. |