PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : iterativ vom Entwicklungsstand zum Versionsstand bei SVN?


mekakic
2011-06-30, 09:09:49
Hallo.

Ich entwickle mit Kollegen momentan auf dem Trunk. Eine Version n ist momentan bei Beginn der Entwicklung ein Tag auf den Stand von Version n-1. Jeder entwickelt seine Features und wenn sie stabil sind, werden sie in die Version gepackt. Die lässt sich bezogen aufs Tagging bei CVS sehr einfach machen, ist bei SVN ist das mit aber momentan recht unhandlich.

Momentan hab ich den trunk und das Versionstag als Working copy. Dann merge ich die fraglichen Änderungen vom trunk in das ausgecheckte Versionstag und committe dann wieder. Dazu beschwert sich TortoiseSVN ein bißchen, dass ich nicht in ein Tag comitten soll; funktionieren tut es aber. Ich sehe es nur als Hinweis, dass es es dafür vielleicht einen besseren Workflow gibt?

Wie erzeugt man am besten iterativ einen Versionsstand aus einem Entwicklungsstand bei SVN?

Monger
2011-06-30, 09:27:38
Ein Tag ist - per SVN Definition - ein Branch der nicht weitergeführt wird. Du solltest also auf Tags nicht arbeiten, und du solltest auch in Tags nicht reinmergen.

Wenn du einen feature-getriebenen Entwicklungsprozess hast, solltest du auch auf dem Trunk nicht unmittelbar arbeiten, sondern nur in den Trunk hinein mergen. Du legst für jedes Feature einen eigenen Branch an, entwickelst auf diesem Branch so lange bis das Feature stabil ist, und dann mergst du in den Trunk.

Dann ist auch evtl . der Zeitpunkt günstig, bestimmte Stände auf dem Trunk zu taggen: "dies ist Release Version, dies ist Meilenstein XY..."

Aber im Endeffekt dient ein Tag nur dazu, um für eine Revision einen schöneren Namen zu finden.

Edit: wie du selber schon festgestellt hast, sind Branches und Tags in SVN relativ schwergewichtig. Das ist für mich auch eine der größten Kritikpunkte an SVN: schnell mal einen kleinen privaten Branch aufmachen geht eben nicht. Kleinere Arbeitspakete packen wir ganz gerne mal als Patches ab, bis wir sie wieder brauchen. Aber wer Feature-getrieben entwickelt, sollte ernsthaft über Git & Co. nachdenken.

Marscel
2011-06-30, 09:56:40
Schau dir mal die erste Grafik an: http://nvie.com/posts/a-successful-git-branching-model/

Das ist für kleinere und mittlere Sachen ne vernünftige Anordnung was branching und tagging angeht und funktioniert auch so mit SVN.

mekakic
2011-07-04, 16:50:59
Danke!