仕様ファイルの変更と生成されたソース・コードとの同期

ochain syncコマンドを使用して、仕様ファイルから現在のソース・ファイル(モデルおよびコントローラ)に新しい変更を取り込むことができます。このコマンドは、TypeScriptプロジェクトとGoプロジェクトの両方で機能します。

ノート:
  • 同期は一方向です。仕様ファイルからチェーンコード・プロジェクトに変更を取り込むことはできますが、その逆はできません。チェーンコード・プロジェクトで行われた変更は、同期プロセス後もそのまま残ります。
  • ochain syncコマンドは、チェーンコード・プロジェクトが仕様ファイルを使用してスキャフォールディングされた場合にのみ機能します。今後、仕様ファイルからソース・コードに変更を同期する予定がある場合は、仕様ファイルを削除、名前変更または移動しないでください。
  • 1つの仕様ファイルを使用して複数のチェーンコード・プロジェクトを生成した場合、ochain syncコマンドを使用して一度に同期できるプロジェクトは1つのみです。

使用方法:

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コマンドには、2つのオプション引数があります。
  • -p / --project

    このオプションでは、同期を実行する必要があるチェーンコード・プロジェクト・ディレクトリを使用します。指定しない場合は、デフォルトで現在のディレクトリが使用されます。

  • -c / --confirm

    このオプションには、ブール値(true/false)を使用できます。マージ・プロセス中に競合が発生した場合は、それらの競合を手動で解決し、次の同期サイクルでこのオプションをtrueに設定する必要があります。競合がマージされていることが不明な場合は、このオプションを使用しないでください。

ochain syncコマンドが失敗し、GitおよびGitのユーザー名とパスワードを含むすべての前提条件をインストールおよび構成した場合は、次のステップを実行して同期操作を再初期化します。
  1. 仕様ファイルでエラーを確認し、見つかったエラーを修正します。
  2. チェーンコード・プロジェクト・フォルダで、次のフォルダが存在する場合は削除します: .sync_temp.sync_backupおよび.sync_repo
  3. srcフォルダで、.gitフォルダが存在する場合は削除します。
  4. プロジェクト・ルート・フォルダで、ochain.jsonファイルを編集し、syncEnabledプロパティをfalseに設定します。保存してファイルを閉じます。
  5. ochain syncコマンドを再試行します。