SccDiff, fonction
Cette fonction affiche (ou éventuellement vérifie simplement) les différences entre le fichier en cours (sur le disque local) et sa dernière version arrivée dans le système de contrôle de code source.
SCCRTN SccDiff(
LPVOID pvContext,
HWND hWnd,
LPCSTR lpFileName,
LONG fOptions,
LPCMDOPTS pvOptions
);
Paramètres
pvContext
[in] La structure du plug-in du contexte de contrôle de code source.hWnd
[in] Un handle de la fenêtre IDE que le plug-in contrôle de code source peut utiliser en tant que parent pour toutes les boîtes de dialogue qu'elle fournit.lpFileName
[in] nom de fichier pour lequel la différence est demandée.fOptions
[in] Indicateurs de commande. Voir notes pour plus de détails.pvOptions
[in] options de prise-dans-détail de contrôle de code source.
Valeur de retour
Il est recommandé que l'implémentation du plug-in du contrôle de code source de cette fonction retourne une des valeurs suivantes :
Valeur |
Description |
---|---|
SCC_OK |
la copie de travail et la version du serveur sont identiques. |
SCC_I_FILESDIFFERS |
La copie de travail diffère de la version sous contrôle de code source. |
SCC_I_RELOADFILE |
un fichier ou un projet doit être rechargé. |
SCC_E_FILENOTCONTROLLED |
Le fichier n'est pas sous contrôle de code source. |
SCC_E_NOTAUTHORIZED |
N'est pas autorisé à effectuer cette opération. |
SCC_E_ACCESSFAILURE |
Un problème est survenu lors de l'accès au système de contrôle de code source, probablement en raison de problèmes de réseau ou de conflit. Une démarrage est recommandée. |
SCC_E_NONSPECIFICERROR |
échec non spécifique ; la différence entre les fichiers n'a pas été obtenu. |
SCC_E_FILENOTEXIST |
Le fichier local est introuvable. |
Notes
Cette fonction remplit deux fonctions différents. Par défaut, elle affiche une liste des modifications apportées à un fichier. Le plug-in contrôle de code source ouvre une fenêtre, dans le format auquel il choisit, pour afficher les différences entre le fichier d'utilisateur sur le disque et la version la plus récente du fichier sous contrôle de code source.
Sinon, l'IDE peut simplement peut-être besoin de déterminer si un fichier a été modifié. Par exemple, l'IDE peut peut-être déterminer s'il est sécurisé au contrôle un fichier sans informer l'utilisateur. Dans ce cas, l'IDE passe dans la balise d' SCC_DIFF_CONTENTS . Le plug-in contrôle de code source doit extraire le fichier sur le disque, octet par octet, par rapport à le fichier du contrôle et retourner une valeur indiquant si les deux fichiers sont différents sans rien afficher à l'utilisateur.
Une optimisation des performances, le plug-in contrôle de code source peut utiliser une alternative basée sur une somme de contrôle ou un horodatage au lieu de la comparaison octet par octet appelée pour en SCC_DIFF_CONTENTS: ces formulaires de comparaison sont évidemment plus rapides mais moins fiables. Tous les systèmes de contrôle de code source peuvent prendre en charge ces autres méthodes de comparaison, et le plug-in peut devoir revenir à une comparaison de contenu. Tous les plug-ins de contrôle de code source doit, au minimum, prendre en charge une comparaison de contenu.
Notes
Les balises rapides difference sont mutuellement exclusifs.Il n'est pas valide pour ne passer pas de balise, mais elle n'est pas valide pour passer simultanément plusieurs.SCC_DIFF_QUICK_DIFF, qui est un masque qui combine toutes les balises, peut être utilisé pour tester, mais il ne doit jamais être passé comme paramètre.
fOption |
Signification |
---|---|
SCC_DIFF_IGNORECASE |
comparaison ne respectant pas la casse (peut être utilisé pour la différence rapide ou visuelle). |
SCC_DIFF_IGNORESPACE |
ignore l'espace blanc (peut être utilisé pour la différence rapide ou visuelle). |
SCC_DIFF_QD_CONTENTS |
Compare silencieusement passer le fichier, octet par octet. |
SCC_DIFF_QD_CHECKSUM |
Compare silencieusement passer le fichier via un checksum une fois pris en charge. Si non pris en charge, soit dans une comparaison de contenu. |
SCC_DIFF_QD_TIME |
Compare silencieusement passer le fichier via son horodatage une fois pris en charge. Si non pris en charge, soit dans une comparaison de contenu. |