Bisher wurde behandelt wie ein lokales SVK-Repository angelegt wird und die Änderungen aus dem Subversion-Repository in den lokalen Branch einfliessen. Im 3. und letzten Teil der SVK-Reihe von Ron Bieber geht es nun um den Abgleich des entfernten Subversion-Repository mit den Änderungen des lokalen Branch.
Abgleich des Subversion-Repository mit den lokalen Änderungen
Nachdem nun alle Arbeiten am SVK-Branch abgeschlossen sind müssen die Änderungen in den Trunk übertragen werden. Hierzu aktualisieren wir zunächst unsere Arbeitsumgebung um die aktuellen Daten als Grundlage zu haben.
Nun ist es also an der Zeit unsere lokalen Änderungen allen Nutzern des entfernten Repository zur Verfügung zu stellen.
Der Abgleich erfolgt ebenfalls mit dem smerge Kommando, welches bereits zum Einsatz kam. Lediglich die Parameter (von -> nach) werden ausgetauscht. Das wirklich geniale bei SVK ist, dass nicht nur das SVK-Abbild des Repositorys abgeglichen wird, sondern gleichzeitig das entfernte Subversion-Repository.
Bevor es los geht stellen wir eine Netzverbindung her und gleichen das lokale Repository ab.
svk sync //mhccms/trunk
Syncing svn://goofy/mhccms/trunk
Um Konflikte auszuschliessen wird der Abgleich mit svk smerge -C zunächst wieder simuliert.
svk smerge -C //mhccms/branches/local //mhccms/trunk
Auto-merging (0, 14) /mhccms/branches/local to /mhccms/trunk (base /mhccms/trunk:12).
Checking locally against mirror source svn://goofy/mhccms/trunk.
U htdocs/todos.txt
New merge ticket: c7a02b01-b2be-2144-bd67-a53d13d8ad13:/mhccms/branches/local:14
Bei dem Abgleich behält SVK den Überblick welche Änderungen wir tatsächlich selbst durchgeführt haben und welche möglicherweise vom Subversion-Repository nachträglich eingeflossen sind. Wir müssen uns daher um nichts zusätzliches kümmern.
Da keine Konflikte zu erwarten sind tauschen wir nun wieder den Parameter -C mit -l. Dieser sorgt dafür, dass unsere Kommentare mit übernommen werden.
svk smerge -l //mhccms/branches/local //mhccms/trunk
Auto-merging (0, 14) /mhccms/branches/local to /mhccms/trunk (base /mhccms/trunk:12).
Waiting for editor...
Log message not modified: a)bort, e)dit, c)ommit?c
Merging back to mirror source svn://goofy/mhccms/trunk.
U htdocs/todos.txt
New merge ticket: c7a02b01-b2be-2144-bd67-a53d13d8ad13:/mhccms/branches/local:14
Merge back committed as revision 17.
Syncing svn://goofy/mhccms/trunk
Retrieving log information from 17 to 17
Committed revision 15 from revision 17.
Was ist nun alles passiert?
- Zunächst öffnete sich ein Editorfenster damit wir einen Kommentar eingeben können. Hier waren jedoch unsere früheren Kommentare schon befüllt, so dass wir nichts mehr hinzuzufügen hatten.
- Unsere Änderungen wurden vom lokalen Branch in den SVK-Trunk übertragen.
- Das Subversion-Repository wurde mit den SVK-Daten abgeglichen.
- Unser lokales Repository wurde final noch gegen das Subversion-Repository abgeglichen.
Ab jetzt sind unsere Änderungen jedem über das Repository zugänglich.

