将规范文件更改与生成的源代码同步

可以使用 ochain sync 命令将规范文件中的新更改引入到当前源文件(模型和控制器)。该命令同时适用于 TypeScript 和 Go 项目。

注意:
  • 同步是单向的:您可以将规范文件中的更改引入链代码项目,但不是相反。同步流程后,链代码项目中所做的更改将保持原样。
  • ochain sync 命令仅在链代码项目使用规范文件进行脚手架时才起作用。如果计划将来将规范文件中的任何更改同步到源代码,请不要删除、重命名或移动规范文件。
  • 如果使用单个规范文件生成多个链代码项目,则每次只能使用 ochain sync 命令同步一个项目。

使用情况:

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 命令有两个可选参数:
  • -p / --project

    此选项采用需要执行同步的链代码项目目录。如果未指定,则默认为当前目录。

  • -c / --confirm

    此选项接受布尔 (true/false) 值。如果合并过程中存在任何冲突,则必须手动解决这些冲突,并在下一个同步周期中将此选项设置为 true。如果您不确定冲突已合并,请不要使用此选项。

如果 ochain sync 命令失败,并且您已安装并配置了包括 Git 和 Git 用户名和密码在内的所有先决条件,请完成以下步骤以重新初始化同步操作:
  1. 检查规范文件中的错误并修复发现的任何错误。
  2. 在 chaincode 项目文件夹中,删除以下文件夹(如果它们存在):.sync_temp.sync_backup.sync_repo
  3. src 文件夹中,删除 .git 文件夹(如果存在)。
  4. 在项目根文件夹中,编辑 ochain.json 文件并将 syncEnabled 属性设置为 false 。保存并关闭该文件。
  5. 重试 ochain sync 命令。