Synchroniser les modifications de 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 sources courants (modèle et contrôleur). La commande fonctionne avec les projets TypeScript et Go.
Note :
- La synchronisation est unidirectionnelle : vous pouvez transférer les modifications de votre fichier de spécification dans votre projet de code de chaîne, mais pas l'inverse. Les modifications apportées au projet de code de chaîne restent telles quelles après le processus de synchronisation.
- La commande
ochain sync
ne fonctionne que si le projet de code de chaîne a été réparti à 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 avec le code source dans le futur. - Si vous avez utilisé un seul fichier de spécification pour générer plus d'un projet de code de chaîne, vous pouvez synchroniser un seul projet à la fois à l'aide de la commande
ochain sync
.
Utilisation :
sync [options] [...args]
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 fait en sorte que le répertoire du projet de chaîne soit synchronisé. S'il n'est pas indiqué, le répertoire courant est utilisé par défaut.
-c / --confirm
Cette option prend des valeurs booléennes (vrai/faux). S'il y a des conflits au cours du traitement de fusion, vous devez les résoudre manuellement et régler cette option à Vrai au cours du prochain cycle de synchronisation. 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éalables, y compris Git, le nom d'utilisateur et le mot de passe Git, effectuez les étapes suivantes 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 chaîne de code, supprimez les dossiers suivants s'ils sont présents :
.sync_temp
,.sync_backup
et.sync_repo
. - Dans le dossier
src
, supprimez le dossier.git
s'il est présent. - Dans le dossier racine du projet, modifiez le fichier
ochain.json
et réglez la propriétésyncEnabled
à Faux. Enregistrez le fichier et fermez-le. - Réessayez la commande
ochain sync
.