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 :
  1. Recherchez les erreurs dans le fichier de spécification et corrigez-les.
  2. 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.
  3. Dans le dossier src, enlevez le dossier .git s'il est présent.
  4. 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.
  5. Réessayez la commande ochain sync.