Versions- und Konfigurationsverwaltung bei der Softwareentwicklung sind extrem wichtig und hilfreich. Zum einen ist es die einzige Möglichkeit in Teams an Software Projekten zu arbeiten, aber zum anderen unterstützen sie auch jeden einzelnen Entwickler dabei Übersicht zu behalten bei Änderungen, Versuchen und unterschiedlichen ausgelieferten Software Ständen.
Wichtig ist dazu eine gute Integration in die Arbeitsumgebung des Entwicklers. Kommerzielle Anbieter wie Accurev, IBM Rational Clearcase, Perforce, MKS SourceIntegrity, Borland StarTeam, Microsoft Visual Source Safe haben deswegen auch mindestens eine gut unterstützte Entwicklungsumgebung.
Daneben gibt es noch einige traditionelle und freie Tools (meist aus der Unix Ecke). Dazu gehören RCS, CVS und SCCS.
Da in einem Repository sehr viel Know-How über das entwickelte Produkt für sehr lange Zeit gespeichert wird, und da Entwickler eine Menge Zeit im Umgang mit dem System gewinnen können ist die Auswahl eines SCM Tools sehr sorgfältig zu treffen.
Die Möglichkeit alle Entwickler zu integrieren (ohne teure Lizenzen) und die Offenheit des Quelltextes für die langfristige Benutzbarkeit der Lösung sprechen ganz klar für Open Source Tools. Dann muss das Projekt aber einen gewissen Bekanntheitsgrad haben, um sicher zu stellen dass es auch Langfristig noch benutzt wird. Daraus ergibt sich dann auch ein lebhaftes Ecosystem, das z.B. eine Vielzahl von Plug-Ins für IDEs herausbringt.
Wichtig ist dazu eine gute Integration in die Arbeitsumgebung des Entwicklers. Kommerzielle Anbieter wie Accurev, IBM Rational Clearcase, Perforce, MKS SourceIntegrity, Borland StarTeam, Microsoft Visual Source Safe haben deswegen auch mindestens eine gut unterstützte Entwicklungsumgebung.
Daneben gibt es noch einige traditionelle und freie Tools (meist aus der Unix Ecke). Dazu gehören RCS, CVS und SCCS.
Da in einem Repository sehr viel Know-How über das entwickelte Produkt für sehr lange Zeit gespeichert wird, und da Entwickler eine Menge Zeit im Umgang mit dem System gewinnen können ist die Auswahl eines SCM Tools sehr sorgfältig zu treffen.
Die Möglichkeit alle Entwickler zu integrieren (ohne teure Lizenzen) und die Offenheit des Quelltextes für die langfristige Benutzbarkeit der Lösung sprechen ganz klar für Open Source Tools. Dann muss das Projekt aber einen gewissen Bekanntheitsgrad haben, um sicher zu stellen dass es auch Langfristig noch benutzt wird. Daraus ergibt sich dann auch ein lebhaftes Ecosystem, das z.B. eine Vielzahl von Plug-Ins für IDEs herausbringt.
Die Entscheidung für ein System ist also weitreichend. Eine der meist-diskutiertesten dürfte Linus Torvalds Entscheidung für BitKeeper gewesen sein. Das kommerzielle Tool war für die Linux Kernel Entwicklung in einer kostenlosen Version verfügbar und deckte gut die Anforderungen für eine verteilte Entwicklung eines großen Source Projektes ab. Inzwischen kam es aber zum Eklat, und Linus sieht sicht nach Alternativen um.
Für mich ist das Thema Versionsverwaltung schon deswegen ein Thema, weil für mich die Optimierung des Entwicklungsprozesses in meiner Firma ein Top Thema ist. Für einen mittelständischen Arbeitgeber haben wir sehr viele Entwickler (über mehrere Standorte weltweit verteilt), und leben von einer schnellen und effizienten Infrastruktur.
Dabei haben wir klein mit einem Visual Source Safe Repository auf einem Fileserver angefangen. Und ich muss sagen, das System war stabil, hatte ausreichend Features und war sicherlich keine schlechte Wahl. Mit unserem Wachstum, der Einführung eines Build Systems und insbesondere dem Umstieg auf Java war damit aber Schluss. Als wir uns für ein Nachfolgesystem entschieden haben war Offenheit, Investitionsschutz und die Kosten ein wichtiger Faktor. Wir wollten jedem Entwickler den vollen Funktionsumfang bieten, von daher haben sich (auch aus den oben genannten Gründen) Open Source Tools einfach angeboten. Vor fünf Jahren war CVS das Versionsverwaltungssystem das hervorragend in Eclipse integriert war. Zusammen mit einem Linux-basierenden Repository Server sind wir seither damit gut im Geschäft.
Keinesfalls soll das aber heißen dass CVS fehlerfrei ist, oder nicht verbessert werden kann. Die Einschränkungen von CVS sind ja hinreichend bekannt. Dazu gehört insbesondere das komplett fehlende versionieren von Gesamtprojekten (insbesondere File Renames), die Einschränkungen bei Branches und ein paar weitere Kleinigkeiten die im Alltag doch störend sind. Dazu kommen jetzt noch neue Anforderungen an die Zugriffssicherheit, die mit einem klassischen Unix Filesystem kaum noch machbar sind.
Übrigens: die Anforderungen einer weltweit verteilten Open Source Community wie den Linux Kernel Entwicklern sind ganz Andere als bei einem mittelständischen Software Haus. Von daher wird Linus' Entscheidung für einen Nachfolger (Monotone, GNU Arch, SVK, Darcs, Bazaar-NG, (...)) für die meisten Unternehmen die kommerziell Software Entwickeln nicht direkt eine Bedeutung haben. Das haben übrigens auch die Subversion Entwickler erkannt und dokumentiert und fordern dazu auf Linus in Ruhe zu lassen.
Wobei ich auch schon bei meinem aktuellen Favoriten angekommen bin: Subversion scheint so langsam in Sachen Eclipse Integration aufzuholen, und als erklärter CVS Nachfolger sind die Features im Bereich Projektverwaltung sowieso deutlich besser.
Zum Weiterlesen
Für mich ist das Thema Versionsverwaltung schon deswegen ein Thema, weil für mich die Optimierung des Entwicklungsprozesses in meiner Firma ein Top Thema ist. Für einen mittelständischen Arbeitgeber haben wir sehr viele Entwickler (über mehrere Standorte weltweit verteilt), und leben von einer schnellen und effizienten Infrastruktur.
Dabei haben wir klein mit einem Visual Source Safe Repository auf einem Fileserver angefangen. Und ich muss sagen, das System war stabil, hatte ausreichend Features und war sicherlich keine schlechte Wahl. Mit unserem Wachstum, der Einführung eines Build Systems und insbesondere dem Umstieg auf Java war damit aber Schluss. Als wir uns für ein Nachfolgesystem entschieden haben war Offenheit, Investitionsschutz und die Kosten ein wichtiger Faktor. Wir wollten jedem Entwickler den vollen Funktionsumfang bieten, von daher haben sich (auch aus den oben genannten Gründen) Open Source Tools einfach angeboten. Vor fünf Jahren war CVS das Versionsverwaltungssystem das hervorragend in Eclipse integriert war. Zusammen mit einem Linux-basierenden Repository Server sind wir seither damit gut im Geschäft.
Keinesfalls soll das aber heißen dass CVS fehlerfrei ist, oder nicht verbessert werden kann. Die Einschränkungen von CVS sind ja hinreichend bekannt. Dazu gehört insbesondere das komplett fehlende versionieren von Gesamtprojekten (insbesondere File Renames), die Einschränkungen bei Branches und ein paar weitere Kleinigkeiten die im Alltag doch störend sind. Dazu kommen jetzt noch neue Anforderungen an die Zugriffssicherheit, die mit einem klassischen Unix Filesystem kaum noch machbar sind.
Übrigens: die Anforderungen einer weltweit verteilten Open Source Community wie den Linux Kernel Entwicklern sind ganz Andere als bei einem mittelständischen Software Haus. Von daher wird Linus' Entscheidung für einen Nachfolger (Monotone, GNU Arch, SVK, Darcs, Bazaar-NG, (...)) für die meisten Unternehmen die kommerziell Software Entwickeln nicht direkt eine Bedeutung haben. Das haben übrigens auch die Subversion Entwickler erkannt und dokumentiert und fordern dazu auf Linus in Ruhe zu lassen.
Wobei ich auch schon bei meinem aktuellen Favoriten angekommen bin: Subversion scheint so langsam in Sachen Eclipse Integration aufzuholen, und als erklärter CVS Nachfolger sind die Features im Bereich Projektverwaltung sowieso deutlich besser.
Zum Weiterlesen
- Das KDE Projekt hatte einen Umstieg auf BitKeeper verkündet, aber das war nur ein Aprilscherz.
- DMOZ hat eine Liste von SCM Tools.
- Und bei der SAP entwickelt man eine Inhouse-Alternative zu Perforce: DTR.
- Better-SCM Initiative (better-scm.berlios.de) hat einen Vergleich von SCM Systemen.
- Artikel von David A. Wheeler: Comments on F/OSS Software Configuration Management Systems
Trackbacks
Trackback für spezifische URI dieses Eintrags
Keine Trackbacks
Kommentare
Ansicht der Kommentare:
(Linear | Verschachtelt)
http://www.infoq.com/articles/dvcs-guide
Bernd
Layout by Ricky Wilson | Serendipity Template by Carl Galloway | Login
Impressum
Bernd Eckenfels
Mörscher Str. 8
76185 Karlsruhe
bernd-08(a)eckenfels.net
Read More
Suche
Verlinkung
- Darcs[346]
- better-scm.berlios.de[288]
- Vergleich[238]
- SCM Tools[385]
- verkündet
- aber[242]
- Inzwischen[296]
- kam[295]
- Microsoft Visual Source Safe[355]
- Subversion[176]
- und fordern dazu auf Linus in
Ruhe zu lassen[218] - es[253]
- SVK[235]
- Monotone[191]
- (...)[327]
- Accurev[350]
- Bazaar-NG[219]
- BitKeeper[220]
- Borland StarTeam[413]
- Comments on F/OSS Software
Configuration Management
Systems[497] - GNU Arch[205]
- IBM Rational Clearcase[562]
- MKS SourceIntegrity[342]
- Perforce[345]
- Aprilscherz[266]
- DTR[249]
Umfrage
Inhouse Coding?
Archive
Archive
Kommentare
Bernd Eckenfels zu DSL und der gefürchtete Parser
2008-08-12 16:59
Hmm Fowler lobt die einfachen DSLs
und sagt man soll dafür einen Parse
r bauen.
Wenn man das aber jetz
t nicht m [...]
2008-08-12 16:59
Bernd Eckenfels zu Arbeitsplatz Schönheit bei der AxelSpringer AG
2008-08-12 10:35
Leider keine Antworten, aber immerh
in hab ich grade nen Artikel gefund
en der oberflächlich beschreibt, wi
e sich Ma [...]
2008-08-12 10:35
Markus Kohler zu DSL und der gefürchtete Parser
2008-08-12 09:04
Hallo Bernd,
IMHO drückt sich Fow
ler davor eine DSL Workbench zu ben
utzen weil das der schwache Punkt v
on "exter [...]
2008-08-12 09:04
Bernd Eckenfels zu Null returns in Java
2008-08-12 03:23
More discussion:
http://andyp-tw
.blogspot.com/2008/08/returning-nul
l-considered-dishonest.html
2008-08-12 03:23
Bernd Eckenfels zu Terminkonflikt
2008-07-21 20:44
Hallo Beate,
ich war leider nich
t dort. Und mich ärgert es auch, da
ss so ein Verein es nicht auf die R
eihe beko [...]
2008-07-21 20:44
Beate zu Terminkonflikt
2008-07-18 21:17
Warst du bei der Vereinsgründung? W
ie wars? Ich finde aber auch nirgen
ds was drüber. Und angeschrieben ha
tte ich a [...]
2008-07-18 21:17
wolfgang bernsdorf zu Arbeitsplatz Schönheit bei der AxelSpringer AG
2008-07-15 19:00
Umstellung auf apple pc. So schöne
pc`s
kann es nicht geben, um gerne
bei Springer zu arbeiten (Spandau)
.
2008-07-15 19:00
Bernd Eckenfels zu Review: Team Beam
2008-07-01 04:35
Es gibt ein kleines Java Programm m
it dem man auf seinen Amazon S3 Acc
ount hochladen kann. Das tool kann
auch time [...]
2008-07-01 04:35
Christian Geisert zu Nostalgie in Sachen DatenFernÜbertragung
2008-06-12 14:47
grummel Registrierung grummel l
ahme Website grummel Download sch
lecht implementiert (falscher Datei
name, kei [...]
2008-06-12 14:47
Bernd Eckenfels zu Kündigungswellen trotz Rekordumsätze
2008-05-30 00:44
Fixed :) Danke Jennifer. Ich hatte
das Archiv gesehen aber da waren ir
gendwie nicht alle Artikel zu sehen
?
2008-05-30 00:44
Blog abonnieren
Blogsphere
Letzten Monat...
Do, 07.08.2008Verspielte Zusammenarbeit
Mi, 16.07.2008Software Übersetzungen
Mi, 16.07.2008Terminkonflikt
Di, 15.07.2008Visual Virtualization
Do, 10.07.2008Google Lively
Mi, 16.07.2008Software Übersetzungen
Mi, 16.07.2008Terminkonflikt
Di, 15.07.2008Visual Virtualization
Do, 10.07.2008Google Lively
Top Referers
www.google.de (30)
search.live.com (3)
www.google.at (2)
www.keywordspy.com (2)
bernd.eckenfels.net (1)
extrabot.com (1)
www.google.co.in (1)
www.google.com (1)
www.google.fr (1)
search.live.com (3)
www.google.at (2)
www.keywordspy.com (2)
bernd.eckenfels.net (1)
extrabot.com (1)
www.google.co.in (1)
www.google.com (1)
www.google.fr (1)
