Spezifikationsdateiänderungen 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.

Hinweis:
  • Die Synchronisierung ist unidirektional: Sie können Änderungen aus Ihrer Spezifikationsdatei in Ihr Chaincode-Projekt bringen, aber nicht umgekehrt. Änderungen in Ihrem Chaincode-Projekt bleiben unverändert nach dem Synchronisierungsprozess.
  • Der Befehl ochain sync funktioniert nur, wenn das Chaincode-Projekt mit einer Spezifikationsdatei erstellt wurde. Löschen, benennen oder verschieben Sie die Spezifikationsdatei nicht, wenn Sie zukünftige Änderungen aus der Spezifikationsdatei in den Quellcode synchronisieren möchten.
  • Wenn Sie eine einzelne Spezifikationsdatei zum Generieren mehrerer Chaincode-Projekte verwendet haben, 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
Der Befehl ochain sync verfügt über zwei optionale Argumente:
  • -p / --project

    Mit dieser Option wird das Chaincode-Projektverzeichnis verwendet, in dem die Synchronisierung ausgeführt werden muss. Ist es nicht festgelegt, wird standardmäßig das aktuelle Verzeichnis verwendet.

  • -c / --confirm

    Bei dieser Option werden boolesche Werte (wahr/falsch) verwendet. 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.

Wenn der Befehl ochain sync nicht erfolgreich verläuft 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 neu zu initialisieren:
  1. Prüfen Sie die Spezifikationsdatei auf Fehler, und beheben Sie alle gefundenen Fehler.
  2. Entfernen Sie im Chaincode-Projektordner die folgenden Ordner, sofern sie vorhanden sind: .sync_temp, .sync_backup und .sync_repo.
  3. Entfernen Sie im Ordner src den Ordner .git, falls dieser vorhanden ist.
  4. Bearbeiten Sie im Projekt-Root-Ordner die Datei ochain.json, und setzen Sie die Eigenschaft syncEnabled auf false. Speichern und schließen Sie die Datei.
  5. Wiederholen Sie den ochain sync-Befehl.