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