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 sources courants (modèle et contrôleur). La commande fonctionne avec les projets TypeScript et Go.
- La synchronisation est unidirectionnelle : vous pouvez apporter des modifications de votre fichier de spécification dans votre projet de code de chaîne, mais pas dans l'autre sens. 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é é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 au code source à l'avenir. - Si vous avez utilisé un seul fichier de spécification pour générer plusieurs projets de code de chaîne, vous ne pouvez synchroniser qu'un seul projet à la fois à l'aide de la commande
ochain sync
.
Utilisation :
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
ochain sync
comporte deux arguments facultatifs :
-p / --project
Cette option prend le répertoire de projet de code de chaîne dans lequel la synchronisation doit être effectuée. S'il n'est pas précisé, le répertoire courant est affiché par défaut.
-c / --confirm
Cette option accepte les valeurs booléennes (Vrai/Faux). En cas de conflit au cours du traitement de fusion, vous devez résoudre ces conflits 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.
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 du projet de code de chaîne, 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 et fermez le fichier. - Réessayez la commande
ochain sync
.