Redaktionell arbeiten wir z. B. Neuerungen in der Branchversion im Intranet ein. Nur absolute Basics werden in Vorversionen, dann i. d. R. in der Trunk-Version angepasst. Diese werden dann bis zum Branch durchgemerged. Durch Veröffentlichung des Servicepack 1 zu Version 20.21 Ende Juni 2021 wurde z. B. die Version 20.21.1 zur neuen Trunk-Version und die neue Branchversion 20.21.1 wurde eingerichtet. Optional: Eine Angabe der Kalenderwoche nach der Programmversion (letzer Upload von KW…) auf der Startseite könnte dem Anwender helfen, zu entscheiden, welche Informationen ggf. zusätzlich per Patchnotes zu berücksichtigen sind, wenn er eine aktuellere Version einsetzt.
Durch die Verwendung von TortoiseSVN (Subversion) werden bestimmte Dateien aus dem Wiki-Verzeichnis über Add
und Commit
gesichert. Aufgrund der Abfragen und den damit verbunden Merge-Prozessen ist eine bestimmte Abfolge im Umgang mit TortoiseSVN für die iX-Wiki-Varianten zu beachten. Hauptansprechpartner für die SVN-Konfiguration ist SMV.
Da innerhalb von DokuWiki, dem von iX-Wiki verwendeten Wikisystem, ebenfalls eine Versionskontrolle über das php-System operiert, ist zwischen Versionskonflikten in TortoiseSVN und Versionskonflikten in DokuWiki zu unterscheiden. Da wir nur bestimmte Dateien des DokuWikisystems in TortoiseSVN betrachten und nur für diese eine Versionkontrolle vorsehen, ist es möglich, dass spezielle DokuWikifunktionen hierdurch unterbrochen oder nicht optimal ausgeführt werden können. Solange diese Funktionen ebenfalls nur eine Wiki-interne Versionkontrolle betreffen, sehen wir das als unkritisch an. Im laufenden Betrieb sind bislang praktisch keine Versionskonflikte in Dokuwiki aufgetreten.
Meta-Daten und Indexierungen sowie Verlauf über die Verzeichnisse attic cache index locks media_attic media_meta meta tmp
sind nicht zwingend erforderlich. Sie unterstützen das DokuWiki-interne System eines Repositories und der Indexierung. So werden index-Dateien (relevant für die Volltextsuche) auch bei der Versionierung mit SVN berücksichtigt. Indexierungen können nachträglich anhand der pages-Seiten administrativ über den Searchindex-Manager erzeugt werden. Diese zusätzliche Indexierung sollte aufgrund von Erfahrungen bzgl. unvollständig indexierter Seiten vor einer Veröffentlichung durchgeführt werden.
Bei sauberer Trennung und reinem Bearbeiten von iX-Wiki in der Branch-Ebene reduziert sich der SVN-Workflow auf:
Wurden durch Umstrukturierung im iX-Wiki Seiten gelöscht, werden diese (und ggf. auch hierzu automatisch angelegte Index-Dateien) beim commit als missing
angezeigt, da SVN die Löschabsicht nicht automatisch erkennt. Die zu löschenden Dateien sind im commit-Dialog manuell mit der delete
-Anweisung zu belegen, sodass sie nicht durch SVN wieder angelegt werden, sondern auch dort offiziell gelöscht sind.
Ist im lokalen Work-Verzeichnis das iX-Wiki integriert, werden die Aktualisierungen dort durch das normale SVN-Update vorgenommen.
Wir vermeiden eine parallele Bearbeitung von iX-Wiki-Inhalten in Trunk- und Branchebenen. Sinnvoller ist es, eine iX-Wiki-Version bis zu einer Deadline zu pflegen und ab dann nur im Branch fortzusetzen. Sind dennoch iX-Wiki-Änderungen im Trunk erforderlich, hat sich gezeigt, dass es sinnvoll ist, nach Aktualisierungsprozessen im Trunk kurzfristig zu aktualisieren, um die Anzahl möglicher Konflikte überschaubar zu halten.
Zum Dateivergleich auf Dateiebene der txt-Dateien kann auch der Total Commander genutzt werden. Dieser bietet die Dateifunktion Compare By Content…
. Sind die verglichenen Dateiversionen von Trunk / Branch einer Datei identisch, erhält man eine Hinweismeldung. Bei Unterschieden öffnet sich ein geteiltes Fenster mit den Möglichkeiten zu den jeweiligen Unterschieden zu springen und Dateiinhalte abzugleichen.
Ein Merge-Konflikt sollte letztlich mit SVN-Tools bereinigt werden. Für Wikidateien bedeutet das i. d. R. einen Vergleich von Textdateien. Dieser ist einfach zu realisieren. Der Vergleich von Worddateien gestaltet sich schwieriger, da hier nicht mit einem Editor zeilenweise verglichen werden kann. Ggf. kann hier über SVN das Konfliktdokument in Word mit Versionsvergleich bearbeitet werden. Beim anschließenden Commit sollte vom Redakteur in der Commitinfo dann auf den gelösten Mergekonflikt hingewiesen werden.
Die Bearbeitung der Konflikte ist in der Dokumentation von TortoiseSVN grundlegend beschrieben. Weiter unten einige Auszüge hieraus (zur SVN-Version 1.14, Kapitel 4.6):
Bei Mergekonflikten in der Error-E-Mail auf Antworten
klicken und in dem Mail-Editor dann mit Strg + F
nach „conflict(s)“ suchen. Dort sind dann die Dateien benannt, welche konfliktbehaftet sind.
Nachfolgende Infos wurde aus der SVN-Hilfe entnommen…