Freigeben über


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.

Siehe auch