Funzione SccDiff
Questa funzione visualizzato o facoltativamente solo controlli per) le differenze tra il file corrente del disco locale) e la relativa versione archiviati l'ultimo nel sistema di controllo del codice sorgente.
SCCRTN SccDiff(
LPVOID pvContext,
HWND hWnd,
LPCSTR lpFileName,
LONG fOptions,
LPCMDOPTS pvOptions
);
Parametri
pvContext
[in] La struttura del contesto di plug-in controllo del codice sorgente.hWnd
[in] Un handle di finestra IDE che il plug-in controllo del codice sorgente possibile utilizzare come padre di tutte le finestre di dialogo che garantiscono.lpFileName
[in] Il nome file per il quale la differenza è obbligatorio.fOptions
[in] Flag del comando. Vedere le note per i dettagli.pvOptions
[in] Opzioni spina-in-specifiche del controllo del codice sorgente.
Valore restituito
L'implementazione di plug-in controllo del codice sorgente di questa funzione è previsto che restituisca uno dei seguenti valori:
Valore |
Descrizione |
---|---|
SCC_OK |
La copia di lavoro e la versione del server sono identiche. |
SCC_I_FILESDIFFERS |
La copia di lavoro è diversa da quella nel controllo del codice sorgente. |
SCC_I_RELOADFILE |
un file o un progetto deve essere ricaricatoe. |
SCC_E_FILENOTCONTROLLED |
Il file non è incluso nel controllo del codice sorgente. |
SCC_E_NOTAUTHORIZED |
L'utente non è autorizzato a eseguire questa operazione. |
SCC_E_ACCESSFAILURE |
Si è verificato un problema che accede al sistema di controllo del codice sorgente, probabilmente a causa di problemi di conflitto o della rete. Un tentativo è consigliato. |
SCC_E_NONSPECIFICERROR |
errore non specifico; la differenza del file non è stata recuperata. |
SCC_E_FILENOTEXIST |
Il file locale non è stato trovato. |
Note
La funzione presenta due scopi diversi. Per impostazione predefinita, viene visualizzato un elenco delle modifiche in un file. Il plug-in controllo del codice sorgente visualizzata la propria finestra, in qualsiasi formato sceglie, per visualizzare le differenze tra il file sul disco e la versione più recente del file nel controllo del codice sorgente.
In alternativa, l'ide può essere necessario semplicemente di determinare se un file è stato modificato. Ad esempio, l'ide può essere necessario determinare se è possibile estrarre un file senza informare l'utente. In tal caso, l'ide passa nel flag di SCC_DIFF_CONTENTS . Il plug-in controllo del codice sorgente necessario archiviare il file su disco, byte da byte, con il file inclusi nel controllo del codice sorgente e restituire un valore che indica se i due file siano diverse senza visualizzare alcuna modifica all'utente.
Per ottimizzare le prestazioni, il plug-in controllo del codice sorgente possibile utilizzare un'alternativa basata su un checksum o timestamp anziché confronto byte per byte chiamato da SCC_DIFF_CONTENTS: questi tipo di confronto sono ovviamente più veloci ma meno affidabili. Non tutti i sistemi di controllo del codice sorgente possono supportare questi metodi di confronto alternativi e il plug-in può essere necessario eseguire il fallback a un confronto del contenuto. Tutti i collegamenti del controllo del codice sorgente devono, al minimo, supportare un confronto del contenuto.
Nota
I flag rapidi di differenza si escludono a vicenda.È valido non passare flag, ma non è valido passare contemporaneamente più di uno.SCC_DIFF_QUICK_DIFF, che è una maschera che combina tutti i flag, può essere utilizzato per il test, ma non deve essere mai passato come parametro.
fOption |
Significato |
---|---|
SCC_DIFF_IGNORECASE |
Confronto senza distinzione tra maiuscole e minuscole (può essere utilizzata per rapidamente o la differenza visiva). |
SCC_DIFF_IGNORESPACE |
Ignora lo spazio vuoto (può essere utilizzata per rapidamente o la differenza visiva). |
SCC_DIFF_QD_CONTENTS |
Confronta automaticamente il file, byte da byte. |
SCC_DIFF_QD_CHECKSUM |
Confronta automaticamente il file tramite un checksum una volta supportato. Se non supportato, rientra in un confronto del contenuto. |
SCC_DIFF_QD_TIME |
Confronta automaticamente il file tramite il timestamp una volta supportato. Se non supportato, rientra in un confronto del contenuto. |