Awakenearly

Subversion Best Practice Workshop

bin grade dabei meinen workflow auf subversion einzurichten (besser später als nie :). dienst läuft, checkout, commit klappt .. geht alles. trotzdem, bin blutiger anfänger und möchte lernen mit svn anständig umzugehen. entsprechend habe ich einige offene fragen (zb in richtung, datenbank integrierung, web deployment, zusammenspiel mit testumgebungen, wie man stable releases kennzeichnet und nutzt, effektiver nutzen von branches. solche sachen..). mich würde aber v.a. auch interessieren wie andere dieses tool in ihrem workflow im detail einbinden, wo probleme liegen (und wie man sie löst). im idealfall schwebt mir sowas wir ein mini-workshop (2-3 stunden, ca. 5-8 teilnehmer) zum thema „einstieg und best-practices mit subversion“ vor. jeder erzählt etwas über seinen anwendungsfall, wie er svn effektiv einsetzt und wo ungelöste probleme sind. wenn die runde klein genug ist kommt jeder dran und die anderen können direkt auf die einzelnen problemstellungen eingehen. … also kein vortrag sondern eine praktischer austausch zu dem thema bei dem jeder zu wort kommt. so sollte eigentlich für jeden was nützlich rauskommen.

Nachmittagsworkshop

ab 02.04 bis 30.04, jeder Werktag möglich ab 15 Uhr bis 18 Uhr

Location (zu 99%): bigmouthmedia GmbH, Schäfflerstr 3, 80333 München

Abendworkshop

Mein Vorschlag für diesen Termin wäre der 16.04, ab 19:00 Uhr

Location: Holzbrink eLab

  • Wolfgang Stief aka stiefkind (02.04. leider nicht möglich). Bei kleiner Gruppe (6-7 Personen max.) könnte ich einen Raum mit (Kabel-)Internet und Beamer/Whiteboard in Unterföhring anbieten.
  • Georg Portenkirchner (04.04 bis 15.04 nicht in München)
  • Bernd Plontsch (02.04 und 16.04 (nicht 09.04, 11.09)
  • Martin Assmann
  • Kerstin

Ich versuche mal eine kurze Zusammenfassung / Braindump von gestern abend:

  • Anwesend waren Bernd, Martin, Kerstin und ich (Wolfgang).
  • Keiner der Anwesenden hat schon nennenswert viel mit SVN gemacht.
  • In einer lockeren Gesprächsrunde haben wir bisherige Erfahrungen mit Versionierungssystemen ausgetauscht und dabei auch allerlei mögliche Anwendungsfälle diskutiert: Vereinszeitschrift mit LaTeX, Webseiten, MP3-Files (beim Musik selber machen), (Unix) Config-Files.
  • Konkrete „Probleme“ bzw. besser „bisher ungelöste Anforderungen“ aus der Diskussion sind:
    • Update/Commit von mehreren Files auf einmal bzw. von einem kompletten Subdirectory incl. der darin befindlichen Inhalte.
    • Kann man einen Branch als „neuen Master“ deklarieren?
    • Wie können sinnvoll Datenbank-Schemata versioniert werden? Geht das überhaupt irgendwie?
    • Wie sieht ein effektiver Workflow von einem „SVN Guru“ aus?
    • An welchen Stellen oder bei welchen Anwendungen lohnt sich ein Blick auf git?
  • Kerstin will im CCC nachzufragen, ob jemand von den dortigen SVN- und git-Anwendern mal Lust hat, uns per aktivem Workshop in die jeweilige Welt einzuführen.

Gegen halb neun haben wir dann still und leise das eLab wieder verlassen und uns auf den Heimweg gemacht. An dieser Stelle auch ein dickes Dankeschön an die Leute vom eLab für die Räumlichkeiten und für das Vertrauen in uns. Sie haben uns nämlich komplett alleine gelassen :-)


Hallo Stief,

eigentlich wollte ich auch kommen, war dann aber etwas unschlüssig wo das ganze stattfindet, da Google Maps zu holtzbrink eLab München irgendwie zwei Locations fand… Deshalb meine Diskussionsbeiträge jetzt hier ;)

  • Update/Commit von mehreren Files auf einmal bzw. von einem kompletten Subdirectory incl. der darin befindlichen Inhalte.
    • geht siehe auch [1]
  • Kann man einen Branch als „neuen Master“ deklarieren?
    • geht, zumindest mit ein paar Tricks
  • Wie sieht ein effektiver Workflow von einem „SVN Guru“ aus?
    • siehe [2]. Super interessant finde ich die Integration anderer Tools zusammen mit Subversion in den Entwicklungs-Workflow. Ein paar Sachen kenne ich schon (Plugins für Eclipse, JIRA, CI-Tools, Confluence,…) einiges ist mir aber noch unklar: Ich habe gehört, dass in einigen Firmen nur ins SVN committed werden darf, wenn der Code vorher reviewt wurde bzw. der Code nach dem commit reviewed werden muss, bevor er irgendwo weiterverarbeitet wird. Von Atlassian gibt es dafür Crucible, aber wie wird das in der Praxis eingesetzt? Und welche Tools gibt es dafür noch?
  • An welchen Stellen oder bei welchen Anwendungen lohnt sich ein Blick auf git?
    • Mit Git kann man, von ein paar wenigen Ausnahmen abgesehen alles machen, was mit svn auch geht. Die Toolintegration ist im allgemeinen noch etwas schlechter als von svn, dafür ist git bzw. mercurial besser als kleine Versionsverwaltung für zwischendurch und für spezielle Einsatzgebiete geeignet: Offline commits, viele Branches/Merges, Entwicklungsumgebungen bei denen kein hochverfügbarer zentraler Server zur Verfügung steht, wenn Dateien nur lokal versioniert werden sollen etc.

Wollt ihr über das Thema noch öfter diskutieren? Könnte man das Thema auf Konfigurationsmanagement erweitern? Hat jemand von euch Erfahrung mit kommerziellen Versionsverwaltungen?

Viele Grüße

Christine

[1] http://svnbook.red-bean.com/nightly/de/svn.basic.in-action.html#svn.basic.in-action.revs [2] http://svnbook.red-bean.com/nightly/de/svn.tour.cycle.html

Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Noncommercial-Share Alike 3.0 Unported