Änderungen der Spezifikationsdatei mit generiertem Quellcode synchronisieren
Mit dem Befehl ochain sync
können Sie neue Änderungen aus der Spezifikationsdatei in die aktuellen Quelldateien (Modell und Controller) übernehmen. Der Befehl funktioniert sowohl mit TypeScript- als auch mit Go-Projekten.
- Die Synchronisierung ist unidirektional: Sie können Änderungen aus Ihrer Spezifikationsdatei in Ihr Chaincode-Projekt übernehmen, aber nicht umgekehrt. Änderungen an Ihrem Chaincode-Projekt bleiben unverändert nach dem Synchronisierungsprozess.
- Der Befehl
ochain sync
funktioniert nur, wenn das Chaincode-Projekt mit einer Spezifikationsdatei gerüstet wurde. Löschen, benennen oder verschieben Sie die Spezifikationsdatei nicht, wenn Sie zukünftig Änderungen aus der Spezifikationsdatei in den Quellcode synchronisieren möchten. - Wenn Sie eine einzelne Spezifikationsdatei verwendet haben, um mehrere Chaincode-Projekte zu generieren, können Sie jeweils nur ein Projekt mit dem Befehl
ochain sync
synchronisieren.
Verwendung:
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
enthält zwei optionale Argumente:
-p / --project
Mit dieser Option wird das Chaincode-Projektverzeichnis verwendet, in dem die Synchronisierung ausgeführt werden muss. Ist dies nicht der Fall, wird standardmäßig das aktuelle Verzeichnis verwendet.
-c / --confirm
Diese Option akzeptiert boolesche (wahr/falsch) Werte. Wenn während des Zusammenführungsprozesses Konflikte auftreten, müssen Sie diese Konflikte manuell lösen und diese Option im nächsten Synchronisierungszyklus auf "true" setzen. Verwenden Sie diese Option nicht, wenn Sie nicht sicher sind, ob die Konflikte zusammengeführt wurden.
ochain sync
nicht erfolgreich ist und Sie alle Voraussetzungen einschließlich Git und Git-Benutzername und -Kennwort installiert und konfiguriert haben, führen Sie die folgenden Schritte aus, um den Synchronisierungsvorgang erneut zu initialisieren:
- Prüfen Sie die Spezifikationsdatei auf Fehler, und beheben Sie alle gefundenen Fehler.
- Entfernen Sie im Chaincode-Projektordner die folgenden Ordner, wenn sie vorhanden sind:
.sync_temp
,.sync_backup
und.sync_repo
. - Entfernen Sie im Ordner
src
den Ordner.git
, wenn er vorhanden ist. - Bearbeiten Sie im Stammordner des Projekts die Datei
ochain.json
, und setzen Sie die EigenschaftsyncEnabled
auf false. Speichern und schließen Sie die Datei. - Wiederholen Sie den Befehl
ochain sync
.