Arbeiten in eigenem SVN und der offizielle AddOnDatenbestand
Verfasst: 23.07.2018 18:59:28
Hallo Zusammen,
das Team Süd betreibt einen eigenen SVN-Server, um die anfallenden Baudaten revisionssicher abzulegen. Das ist eine sehr schicke Sache, bringt aber in der Praxis auch ein paar kleinere Probleme mit sich. Ich wollte daher mal bei nachfragen, ob andere Zusianer auch ihre Daten in einem eigenen SVN ablegen und wie ihr die nachfolgende Frage löst. Auch gerne sind Antworten von IT/SVN-Durchblickern gesehen, die eventuell zur Lösung des Problems beitragen können.
Ich erkläre unser Problem mal an einem einfachen Beispiel.
Für ein BND-Gebäude im Modul Gablingen haben wir einen Stacheldrahtzaun gebraucht, diesen gebaut und ins Team Süd SVN eingecheckt. Wir bauen alles mit .ls3-Dateien, die die komplette Geometrie in XML beinhalten. Dieses Vorgehen wurde häufiger von Alwin hier im Forum propagiert und begrüßt. Das sieht dann aus, wie in Bild 1.
Bild 1
Irgendwann kommt der Tag, wo wir dieses Objekt in den offiziellen Bestand einreichen. Da wird das Objekt vom ZPA geprüft, für gut befunden und schlummert eine Weile vor sich hin. Später irgendwann wird das Objekt mit einem Addon offiziell ausgeliefert. Da im offiziellen Bestand keine Geometrien in der .ls3, sondern nur in der .lsb sein sollen, hat das ZPA folgerichtig das Objekt konvertiert. Anschließend sieht das Verzeichnis so aus wie in Bild 2 gezeigt.
Bild 2
Wie man sieht, wurden die .ls3-Dateien verändert und nicht versionierte .lsb-Dateien sind dazugekommen. Das ist auch logisch, weil die Geometrie-Daten von .ls3 nach .lsb konvertiert wurden.
Würde nach einer AddOn-Installation jemand vom Team gedankenverloren diese Änderungen ins SVN einchecken, hätte das Schlimme folgen.
Bisher haben wir es immer so gehandhabt, dass alle vom Team nur AddOn-Installationen durchführen dürfen, wenn keine Dateien mit roten ! vorhanden sind. Nach der AddOn-Installation muss jedes Team-Mitglied alle Ordner mit rotem ! händisch durchforsten und diese Dateien löschen. Ebenso händisch muss man alle neuen .lsb-Dateien in den Verzeichnissen löschen. Anschließend bringt man sich mit einem erneuten SVN aktualisieren auf den richtigen Stand zurück. Dann sollte alles wieder heil sein.
Da wir in fast allen Bereichen Objekte bauen und einreichen, wie z. B. Reichsbahnausleger im Catenary-Ordner, Sk-Signal-Assistent im Signale-Ordner, Objekte im Routes-Verzeichnis, Fahrkartenautomat im Ordner Railway-Objects und Grünzeug im Ordner Terrain sind je nach Addon 20-100 Verzeichnisse händisch zu kontrollieren und wieder auf unseren Bauzustand zurückzusetzen. Das ist 1. eine Sauarbeit und 2. nicht alle Team Mitglieder sind so versiert, diese Aufgabe lockerflockig zu erledigen. Zum 3. wächst das Bauteam kontinuierlich und es ist schwieriger zu kontrollieren und 4. ist händisches Korrigieren nicht wirklich fehlersicher und 5. geht das ganze mit dem nächsten Addon wieder von vorne los.
Eine Idee aus dem Team war, einer baut eine .bat Script-Datei, die für die weniger Versierten im Team das Löschen der Dateien übernimmt. Grundsätzlich machbar, aber persönlich gefällt mir diese Idee überhaupt nicht, weil mit DEL-Befehlen in einer .bat Datei mächtig viel schief gehen kann.
Ich hoffe, dass ich das Problem anschaulich schildern konnte.
Ist da ein SVN revert eine cleverere Idee? Wenn ja, wie wird man dann die nicht versionierten .lsb wieder los?
Abschließend die Frage: Gibt es eine (automatisierte) Lösungsmöglichkeit für dieses Problem? Hat jemand eine Idee, wie wir das bewerkstelligen könnten? Oder andere Ideen?
Michael
das Team Süd betreibt einen eigenen SVN-Server, um die anfallenden Baudaten revisionssicher abzulegen. Das ist eine sehr schicke Sache, bringt aber in der Praxis auch ein paar kleinere Probleme mit sich. Ich wollte daher mal bei nachfragen, ob andere Zusianer auch ihre Daten in einem eigenen SVN ablegen und wie ihr die nachfolgende Frage löst. Auch gerne sind Antworten von IT/SVN-Durchblickern gesehen, die eventuell zur Lösung des Problems beitragen können.
Ich erkläre unser Problem mal an einem einfachen Beispiel.
Für ein BND-Gebäude im Modul Gablingen haben wir einen Stacheldrahtzaun gebraucht, diesen gebaut und ins Team Süd SVN eingecheckt. Wir bauen alles mit .ls3-Dateien, die die komplette Geometrie in XML beinhalten. Dieses Vorgehen wurde häufiger von Alwin hier im Forum propagiert und begrüßt. Das sieht dann aus, wie in Bild 1.
Bild 1
Irgendwann kommt der Tag, wo wir dieses Objekt in den offiziellen Bestand einreichen. Da wird das Objekt vom ZPA geprüft, für gut befunden und schlummert eine Weile vor sich hin. Später irgendwann wird das Objekt mit einem Addon offiziell ausgeliefert. Da im offiziellen Bestand keine Geometrien in der .ls3, sondern nur in der .lsb sein sollen, hat das ZPA folgerichtig das Objekt konvertiert. Anschließend sieht das Verzeichnis so aus wie in Bild 2 gezeigt.
Bild 2
Wie man sieht, wurden die .ls3-Dateien verändert und nicht versionierte .lsb-Dateien sind dazugekommen. Das ist auch logisch, weil die Geometrie-Daten von .ls3 nach .lsb konvertiert wurden.
Würde nach einer AddOn-Installation jemand vom Team gedankenverloren diese Änderungen ins SVN einchecken, hätte das Schlimme folgen.
Bisher haben wir es immer so gehandhabt, dass alle vom Team nur AddOn-Installationen durchführen dürfen, wenn keine Dateien mit roten ! vorhanden sind. Nach der AddOn-Installation muss jedes Team-Mitglied alle Ordner mit rotem ! händisch durchforsten und diese Dateien löschen. Ebenso händisch muss man alle neuen .lsb-Dateien in den Verzeichnissen löschen. Anschließend bringt man sich mit einem erneuten SVN aktualisieren auf den richtigen Stand zurück. Dann sollte alles wieder heil sein.
Da wir in fast allen Bereichen Objekte bauen und einreichen, wie z. B. Reichsbahnausleger im Catenary-Ordner, Sk-Signal-Assistent im Signale-Ordner, Objekte im Routes-Verzeichnis, Fahrkartenautomat im Ordner Railway-Objects und Grünzeug im Ordner Terrain sind je nach Addon 20-100 Verzeichnisse händisch zu kontrollieren und wieder auf unseren Bauzustand zurückzusetzen. Das ist 1. eine Sauarbeit und 2. nicht alle Team Mitglieder sind so versiert, diese Aufgabe lockerflockig zu erledigen. Zum 3. wächst das Bauteam kontinuierlich und es ist schwieriger zu kontrollieren und 4. ist händisches Korrigieren nicht wirklich fehlersicher und 5. geht das ganze mit dem nächsten Addon wieder von vorne los.
Eine Idee aus dem Team war, einer baut eine .bat Script-Datei, die für die weniger Versierten im Team das Löschen der Dateien übernimmt. Grundsätzlich machbar, aber persönlich gefällt mir diese Idee überhaupt nicht, weil mit DEL-Befehlen in einer .bat Datei mächtig viel schief gehen kann.
Ich hoffe, dass ich das Problem anschaulich schildern konnte.
Ist da ein SVN revert eine cleverere Idee? Wenn ja, wie wird man dann die nicht versionierten .lsb wieder los?
Abschließend die Frage: Gibt es eine (automatisierte) Lösungsmöglichkeit für dieses Problem? Hat jemand eine Idee, wie wir das bewerkstelligen könnten? Oder andere Ideen?
Michael