External Sync / How to... / Konflikte beheben / Gleichzeitige Änderungen an einer Vorlage / Identische Änderungen

Gleichzeitige Änderung an einer Vorlage, identische Änderungen

Inhaltsverzeichnis

In diesem Szenario wird die Vorgehensweise illustriert, wenn die gleichzeitige Arbeit an einer Vorlage durch mehrere Entwickler zu identischen Änderungen an den jeweils lokalen Arbeitsversionen der Vorlage führt.

Bei identischen Änderungen in derselben Datei entsteht kein Konflikt beim Überführen des Projektinhalts in das Git-Repository, da Textdateien mit identischem Inhalt als gleich angesehen werden, unabhängig von Bearbeiter, Bearbeitungszeit oder anderen Metadaten.

Ausgangssituation

Im FirstSpirit-Projekt existiert eine Seitenvorlage page_text, dessen Ausgabekanaldefinition „HTML“ folgenden Text enthält:

Zeile 1
Zeile 2
Zeile 3
Zeile 4
Zeile 5

Diese Seitenvorlage ist in den Projektinstanzen beider Entwickler im gleichen Stand vorhanden.

Auftreten des Konfliktfalls

Entwickler A

  1. Modifikation eines FirstSpirit-Elements
    Entwickler A ändert den Inhalt des Ausgabekanals in der Seitenvorlage page_text:
    Zeile 1
    Zeile 2
    Zeile 3 verändert
    Zeile 4
    Zeile 5
  2. Export der Änderungen ins Dateisystem
    Entwickler A exportiert per fs-cli den Projektstand ins lokale Dateisystem (Git-Repository)
    fs-cli -p DevProject -sd "D:\Git\DevProject" export templatestore
  3. Änderungen ins Git-Repository überführen
    Entwickler A überträgt die Änderungen ins GIT-Repository
    git commit -a -m "changed page_text"
    git push

Entwickler B

  1. Modifikation eines FirstSpirit-Elements
    Entwickler B verändert den Inhalt des Ausgabekanals an derselben Textstelle, die auch Entwickler A verändert hat, und fügt denselben Inhalt wie Entwickler A ein:
    Zeile 1
    Zeile 2
    Zeile 3 verändert
    Zeile 4
    Zeile 5
  2. Export der Änderungen ins Dateisystem
    Entwickler B exportiert per fs-cli den Projektstand ins lokale Dateisystem
    fs-cli -p DevProject -sd "D:\Git\DevProject" export templatestore
  3. Änderungen ins Git-Repository überführen
    Entwickler B überträgt die Änderungen ins Git-Repository
    git commit -a -m "export page_text"
    git push

Konfliktlösung

Der Push der Änderungen, die Entwickler B gemacht hat, führt nicht zu einem Konflikt, da diese Änderung an der Seitenvorlage identisch ist mit der, die Entwickler A zuvor ins Repository eingecheckt hat. Für Git bedeutet dies, dass beide Dateien gleich sind.

Weiteres Vorgehen

Sowohl Entwickler A als auch Entwickler B müssen zu diesem Zeitpunkt keine weiteren Schritte vornehmen. Beide Entwickler können nun wie gewohnt mit der verteilten Entwicklung weiterverfahren werden.

Sowohl im lokalen Projekt von Entwickler A als auch im Projekt von Entwickler B ist nun die Seitenvorlage page_text in der identischen Version der Ausgabekanaldefinition vorhanden

Zeile 1
Zeile 2
Zeile 3 verändert
Zeile 4
Zeile 5

© 2005 - 2024 Crownpeak Technology GmbH | Alle Rechte vorbehalten. | FirstSpirit 2024.5 | Datenschutz