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 proyectos TypeScript y Go.
Note:
- La sincronización es unidireccional: puede introducir cambios del archivo de especificación en el 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 intercalado mediante un archivo de especificación. No suprima, cambie de 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 algún conflicto durante el proceso de fusión, debe resolver esos conflictos 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, complete los siguientes pasos para reinicializar la operación de sincronización:
- Compruebe el archivo de especificación en busca de errores 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
.