Sincronizar cambios de archivo de especificación con código de origen generado
Puede utilizar el comando ochain sync
para traer nuevos cambios del archivo de especificación a los archivos de origen actuales (modelo y controlador). El comando funciona con los proyectos TypeScript y Go.
Note:
- La sincronización es unidireccional: puede llevar los cambios del archivo de especificación al proyecto de código de cadenas, pero no al revés. Los cambios realizados en el proyecto de código de cadenas permanecen tal cual después del proceso de sincronización.
- El comando
ochain sync
solo funciona si el proyecto de código de cadenas se ha andamiado mediante un archivo de especificación. No suprima, cambie el nombre ni mueva el archivo de especificación si tiene previsto sincronizar los cambios del archivo de especificación con el código de origen en el futuro. - Si ha utilizado un único archivo de especificación para generar más de un proyecto de código de cadenas, puede sincronizar solo un proyecto a la vez mediante el comando
ochain sync
.
Sintaxis:
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
El comando
ochain sync
tiene dos argumentos opcionales:
-p / --project
Esta opción toma el directorio del proyecto de código de cadenas donde se debe realizar la sincronización. Si no se especifica, se establece por defecto en el directorio actual.
-c / --confirm
Esta opción toma valores booleanos (verdadero/falso). Si hay conflictos durante el proceso de fusión, debe resolverlos manualmente y definir esta opción en true en el siguiente ciclo de sincronización. No utilice esta opción si no está seguro de que los conflictos se hayan fusionado.
Si el comando
ochain sync
falla y ha instalado y configurado todos los requisitos, incluidos Git y el nombre de usuario y la contraseña de Git, realice los siguientes pasos para reinicializar la operación de sincronización:
- Compruebe si hay errores en el archivo de especificación y corrija los errores que encuentre.
- En la carpeta del proyecto de código de cadenas, elimine las siguientes carpetas si están presentes:
.sync_temp
,.sync_backup
y.sync_repo
. - En la carpeta
src
, elimine la carpeta.git
si está presente. - En la carpeta raíz del proyecto, edite el archivo
ochain.json
y defina la propiedadsyncEnabled
en false. Guarde y cierre el archivo. - Vuelva a intentar el comando
ochain sync
.