Synchroniser les modifications du fichier de spécification avec le code source généré
Vous pouvez utiliser la commande ochain sync
pour apporter de nouvelles modifications du fichier de spécification aux fichiers source en cours (modèle et contrôleur). La commande fonctionne avec les projets TypeScript et Go.
Remarques :
- La synchronisation est unidirectionnelle : vous pouvez apporter des modifications à partir de votre fichier de spécification dans votre projet de code chaîne, mais pas l'inverse. Les modifications apportées à votre projet de code chaîne restent telles quelles après le processus de synchronisation.
- La commande
ochain sync
fonctionne uniquement si le projet de code chaîne a été échafaudé à l'aide d'un fichier de spécification. Ne supprimez pas, ne renommez pas ou ne déplacez pas le fichier de spécification si vous prévoyez de synchroniser les modifications du fichier de spécification vers le code source ultérieurement. - Si vous avez utilisé un seul fichier de spécification pour générer plusieurs projets de code chaîne, vous ne pouvez synchroniser qu'un seul projet à la fois à l'aide de la commande
ochain sync
.
Syntaxe :
sync [options] [...args]
my-mac:TsProject myname@ ochain sync -h
Usage: sync [options] [...args]
Synchronize Changes from spec file to the required chaincode.
Arguments:
[...args] (optional) Sync Arguments.
Options :
-h, --help output command usage information
-D, --debug enable debug logging
-p, --project <path> (optional) Path to Chaincode project to sync. If not specified, it defaults to current directory
-c, --confirm <bool> (optional) Parameter to ensure if you have resolved all the conflicts, and commit changes
Examples :
$> ochain sync
without chaincode initial arguments
La commande
ochain sync
comporte deux arguments facultatifs :
-p / --project
Cette option prend le répertoire du projet de code chaîne où la synchronisation doit être effectuée. S'il n'est pas spécifié, il désigne par défaut le répertoire en cours.
-c / --confirm
Cette option prend des valeurs booléennes (vrai/faux). S'il existe des conflits au cours du processus de fusion, vous devez les résoudre manuellement et définir cette option sur True au cours du cycle de synchronisation suivant. N'utilisez pas cette option si vous n'êtes pas sûr que les conflits ont été fusionnés.
Si la commande
ochain sync
échoue et que vous avez installé et configuré tous les prérequis, y compris Git, le nom utilisateur et le mot de passe Git, procédez comme suit pour réinitialiser l'opération de synchronisation :
- Recherchez les erreurs dans le fichier de spécification et corrigez-les.
- Dans le dossier de projet de code chaîne, enlevez les dossiers suivants s'ils sont présents :
.sync_temp
,.sync_backup
et.sync_repo
. - Dans le dossier
src
, enlevez le dossier.git
s'il est présent. - Dans le dossier racine du projet, modifiez le fichier
ochain.json
et définissez la propriétésyncEnabled
sur false. Enregistrez et fermez le fichier. - Réessayez la commande
ochain sync
.