Partager via


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.

Voir aussi

Concepts

Fonctions API des plug-ins de contrôle de code source