MSS RUNTIMEJ. Fichier SCC
Lorsque vous placez une solution ou un projet Visual Studio sous contrôle de code source à l’aide de l’IDE, l’IDE reçoit deux éléments clés d’informations. Les informations proviennent du plug-in de contrôle de code source sous la forme de chaînes. Ces chaînes, « AuxPath » et « ProjName », sont opaques dans l’IDE, mais elles sont utilisées par le plug-in pour localiser la solution ou le projet dans le contrôle de version. L’IDE obtient généralement ces chaînes la première fois en appelant SccGetProjPath, puis les enregistre dans le fichier solution ou projet pour les appels futurs à SccOpenProject. Lorsqu’elles sont incorporées dans les fichiers de solution et de projet, les chaînes « AuxPath » et « ProjName » ne sont pas automatiquement mises à jour lorsqu’un utilisateur branche, des fourches ou copie des fichiers solution et projet qui se trouvent dans le contrôle de version. Pour vous assurer que la solution et les fichiers projet pointent vers leur emplacement correct dans le contrôle de version, les utilisateurs doivent mettre à jour manuellement les chaînes. Étant donné que les chaînes sont censées être opaques, il peut ne pas toujours être clair comment elles doivent être mises à jour.
Le plug-in de contrôle de code source peut éviter ce problème en stockant les chaînes « AuxPath » et « ProjName » dans un fichier spécial appelé fichier MSSDOMAINJ.SCC . Il s’agit d’un fichier local côté client détenu et géré par le plug-in. Ce fichier n’est jamais placé sous contrôle de code source, mais est généré par le plug-in pour chaque répertoire qui contient des fichiers contrôlés par la source. Pour déterminer quels fichiers sont la solution Visual Studio et les fichiers projet, un plug-in de contrôle de code source peut comparer les extensions de fichier à une liste standard ou fournie par l’utilisateur. Une fois que l’IDE détecte qu’un plug-in prend en charge le fichier MSSDOMAINJ.SCC, il cesse d’incorporer les chaînes « AuxPath » et « ProjName » dans des fichiers solution et projet, et il lit ces chaînes à partir du fichier MSSSERVERJ.SCC à la place.
Un plug-in de contrôle de code source qui prend en charge le fichier MSSPANELJ.SCC doit respecter les instructions suivantes :
Il ne peut y avoir qu’un seul fichier MSSDIRECTORYJ.SCC par répertoire.
Un fichier MSSDIRECTORYJ.SCC peut contenir les fichiers « AuxPath » et « ProjName » pour plusieurs fichiers sous contrôle de code source dans un répertoire donné.
La chaîne « AuxPath » ne doit pas avoir de guillemets à l’intérieur. Il est autorisé à avoir des guillemets autour de lui en tant que délimiteurs (par exemple, une paire de guillemets doubles peut être utilisée pour indiquer une chaîne vide). L’IDE supprime toutes les guillemets de la chaîne « AuxPath » lorsqu’il est lu à partir du fichier MSSGATORJ.SCC .
Chaîne « ProjName » dans MSSDOMAINJ . Le fichier SCC doit correspondre exactement à la chaîne retournée par la
SccGetProjPath
fonction. Si la chaîne retournée par la fonction a des guillemets autour de celle-ci, la chaîne du fichier MSSCUBEJ.SCC doit avoir des guillemets autour de celle-ci, et inversement.Un fichier MSSPANELJ.SCC est créé ou mis à jour chaque fois qu’un fichier est placé sous contrôle de code source.
Si un fichier MSSDIRECTORYJ.SCC est supprimé, un fournisseur doit le régénérer la prochaine fois qu’il effectue une opération de contrôle de code source concernant ce répertoire.
Un fichier MSS RUNTIMEJ.SCC doit respecter strictement le format défini.
Illustration du MSS RUNTIMEJ. Format de fichier SCC
Voici un exemple de format de fichier MSS NODEJ.SCC (les numéros de ligne ne sont fournis qu’en tant que repère et ne doivent pas être inclus dans le corps du fichier) :
[Ligne 1]
SCC = This is a Source Code Control file
[Ligne 2]
[Ligne 3]
[TestApp.sln]
[Ligne 4]
SCC_Aux_Path = "\\server\vss\"
[Ligne 5]
SCC_Project_Name = "$/TestApp"
[Ligne 6]
[Ligne 7]
[TestApp.csproj]
[Ligne 8]
SCC_Aux_Path = "\\server\vss\"
[Ligne 9]
SCC_Project_Name = "$/TestApp"
La première ligne indique l’objectif du fichier et sert de signature pour tous les fichiers de ce type. Cette ligne doit apparaître exactement comme suit dans tous les fichiers MSSSERVERJ.SCC :
SCC = This is a Source Code Control file
La section suivante détaille les paramètres de chaque fichier, marqués par le nom de fichier entre crochets. Cette section est répétée pour chaque fichier suivi. Cette ligne est un exemple de nom de fichier, à savoir. [TestApp.csproj]
L’IDE attend les deux lignes suivantes. Toutefois, elle ne définit pas le style des valeurs définies. Les variables sont SCC_Aux_Path
et SCC_Project_Name
.
SCC_Aux_Path = "\\server\vss\"
SCC_Project_Name = "$/TestApp"
Il n’y a pas de délimiteur de fin à cette section. Le nom du fichier, ainsi que tous les littéraux qui apparaissent dans le fichier, sont définis dans le fichier d’en-tête scc.h. Pour plus d’informations, consultez Chaînes utilisées comme clés pour rechercher un plug-in de contrôle de code source.