Fonction SccDiff

Cette fonction affiche (ou éventuellement simplement case activée) les différences entre le fichier actuel (sur le disque local) et sa dernière version case activée ed-in dans le système de contrôle de code source.

Syntaxe

SCCRTN SccDiff(
   LPVOID    pvContext,
   HWND      hWnd,
   LPCSTR    lpFileName,
   LONG      fOptions,
   LPCMDOPTS pvOptions
);

Paramètres

pvContext

[in] Structure de contexte du plug-in de contrôle de code source.

hWnd

[in] Handle vers la fenêtre IDE que le plug-in de contrôle de code source peut utiliser comme parent pour toutes les boîtes de dialogue qu’il fournit.

lpFileName

[in] Nom de fichier pour lequel la différence est demandée.

fOptions

[in] Indicateurs de commande. Pour plus d’informations, consultez Remarques.

pvOptions

[in] Options spécifiques au plug-in de contrôle de code source.

Valeur retournée

L’implémentation du plug-in de contrôle de code source de cette fonction est censée retourner l’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 L’utilisateur n’est pas autorisé à effectuer cette opération.
SCC_E_ACCESSFAILURE Il y a eu un problème d’accès au système de contrôle de code source, probablement en raison de problèmes de réseau ou de contention. Une nouvelle tentative est recommandée.
SCC_E_NONSPECIFICERROR Échec non spécifique ; la différence de fichier n’a pas été obtenue.
SCC_E_FILENOTEXIST Le fichier local est introuvable.

Notes

Cette fonction a deux objectifs différents. Par défaut, il affiche une liste de modifications apportées à un fichier. Le plug-in de contrôle de code source ouvre sa propre fenêtre, quel que soit le format choisi, pour afficher les différences entre le fichier de l’utilisateur sur le disque et la dernière version du fichier sous contrôle de code source.

Sinon, l’IDE peut simplement avoir besoin de déterminer si un fichier a changé. Par exemple, l’IDE peut avoir besoin de déterminer s’il est sûr de case activée un fichier sans informer l’utilisateur. Dans ce cas, l’IDE passe dans l’indicateur SCC_DIFF_CONTENTS . Le plug-in de contrôle de code source doit case activée le fichier sur le disque, byte byte, par rapport au fichier contrôlé par la source et retourner une valeur indiquant si les deux fichiers sont différents sans afficher quoi que ce soit à l’utilisateur.

Comme optimisation des performances, le plug-in de contrôle de code source peut utiliser une alternative basée sur un case activée sum ou un horodatage au lieu de la comparaison d’octets par octets appelée par SCC_DIFF_CONTENTS: ces formes de comparaison sont évidemment plus rapides mais moins fiables. Tous les systèmes de contrôle de code source ne peuvent pas prendre en charge ces autres méthodes de comparaison, et le plug-in peut être amené à revenir à une comparaison de contenu. Tous les plug-ins de contrôle de code source doivent, au minimum, prendre en charge une comparaison de contenu.

Remarque

Les indicateurs de différence rapide s’excluent mutuellement. Il est valide de passer aucun indicateur, mais il n’est pas valide pour passer simultanément plusieurs indicateurs. SCC_DIFF_QUICK_DIFF, qui est un masque qui combine tous les indicateurs, peut être utilisé pour tester, mais il ne doit jamais être passé en tant que paramètre.

fOption Signification
SCC_DIFF_IGNORECASE Comparaison non sensible à la casse (peut être utilisée pour une différence visuelle ou rapide).
SCC_DIFF_IGNORESPACE Ignore l’espace blanc (peut être utilisé pour une différence visuelle ou rapide).
SCC_DIFF_QD_CONTENTS Compare silencieusement le fichier, byte byte.
SCC_DIFF_QD_CHECKSUM Compare silencieusement le fichier via un case activée sum lorsqu’il est pris en charge. S’il n’est pas pris en charge, revient à une comparaison du contenu.
SCC_DIFF_QD_TIME Compare silencieusement le fichier via son horodatage lorsqu’il est pris en charge. S’il n’est pas pris en charge, revient à une comparaison du contenu.

Voir aussi