Sincronizar Alterações do Arquivo de Especificação com o Código de Origem Gerado
Você pode usar o comando ochain sync
para trazer novas alterações do arquivo de especificação para os arquivos de origem atuais (modelo e controlador). O comando funciona com os projetos TypeScript e Go.
Observação:
- A sincronização é unidirecional: você pode trazer alterações do arquivo de especificação para o projeto do chaincode, mas não o contrário. As alterações feitas em seu projeto de chaincode permanecem como estão após o processo de sincronização.
- O comando
ochain sync
só funcionará se o projeto de chaincode tiver sido montado usando um arquivo de especificação. Não exclua, renomeie ou mova o arquivo de especificação se você planeja sincronizar quaisquer alterações do arquivo de especificação para o código-fonte no futuro. - Se você usou um único arquivo de especificação para gerar mais de um projeto de chaincode, poderá sincronizar apenas um projeto de cada vez usando o comando
ochain sync
.
Uso:
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
O comando
ochain sync
tem dois argumentos opcionais:
-p / --project
Esta opção usa o diretório de projeto do chaincode no qual a sincronização precisa ser executada. Se não estiver especificado, ele assumirá como padrão o diretório atual.
-c / --confirm
Esta opção usa valores Booleanos (true/false). Se houver conflitos durante o processo de mesclagem, você deverá resolvê-los manualmente e definir essa opção como verdadeira no próximo ciclo de sincronização. Não use esta opção se não tiver certeza de que os conflitos foram mesclados.
Se o comando
ochain sync
falhar e você tiver instalado e configurado todos os pré-requisitos, incluindo o Git e o nome de usuário e a senha do Git, execute as seguintes etapas para reinicializar a operação de sincronização:
- Verifique se há erros no arquivo de especificação e corrija os erros encontrados.
- Na pasta do projeto do chaincode, remova as seguintes pastas se elas estiverem presentes:
.sync_temp
,.sync_backup
e.sync_repo
. - Na pasta
src
, remova a pasta.git
se ela estiver presente. - Na pasta raiz do projeto, edite o arquivo
ochain.json
e defina a propriedadesyncEnabled
como false. Salve e feche o arquivo. - Tente novamente o comando
ochain sync
.