将规范文件更改与生成的源代码同步
可以使用 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 用户名和密码在内的所有先决条件,请完成以下步骤以重新初始化同步操作:
- 检查规范文件中的错误并修复发现的任何错误。
- 在 chaincode 项目文件夹中,删除以下文件夹(如果它们存在):
.sync_temp
、.sync_backup
和.sync_repo
。 - 在
src
文件夹中,删除.git
文件夹(如果存在)。 - 在项目根文件夹中,编辑
ochain.json
文件并将syncEnabled
属性设置为 false 。保存并关闭该文件。 - 重试
ochain sync
命令。