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

可以使用 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. 在链代码项目文件夹中,删除以下文件夹(如果存在):.sync_temp.sync_backup.sync_repo
  3. src 文件夹中,删除 .git 文件夹(如果存在)。
  4. 在项目根文件夹中,编辑 ochain.json 文件并将 syncEnabled 属性设置为 false 。保存并关闭该文件。
  5. 重试 ochain sync 命令。