KunterBuntesSeminar-WS09/Versionierungssysteme
Das ist der 10. Termin vom KunterBuntenSeminar im WS 2009/10.
Abstract
Wir möchten euch Versionierungssysteme (VCS) am Beispiel von git vorstellen. VCSe sind ein praktisches Werkzeug, das man auch schon am Anfang des Studiums gut gebrauchen kann. Dieser Seminartermin erfordert keinerlei Vorkenntnisse und soll auch kein "mein VCS ist besser als deins"-Gerede sein. Vielmehr möchten wir verschiedene Ansätze vorstellen und euch erklären wie und wofür man Versionierungssysteme einsetzen kann. Es ist dann an euch, euer liebstes VCS zu finden. Notebooks sind nicht erforderlich, da dies kein Workshop ist.
Vortragender
- bjoernb && 5koehn
Wenn ihr nach dem Vortrag noch Fragen zum Thema habt und uns gerade im c.t. oder sonstwo in St. Ellingen seht koennt ihr sie uns gerne stellen.
Folien/Material
Wie im vorangegangenem Jahr bestand ein Grossteil des Seminartermins aus Tafelarbeit und der Beantwortung von fragen. Es war also eine interaktive Einfuehrung. Hier gibt es die Folien zu dem Seminar:
git clone ssh://<user>@rzdspc10.informatik.uni-hamburg.de/home/j2004/4bewersd/repos/kbsDvcs.git git clone ssh://<user>@rzdspc10.informatik.uni-hamburg.de/home/j2005/5koehn/kbs2010
Weiterführende Links
Diese Links sollen bei der weiteren Recherche als Einstiegspunkte helfen.
Allgemeines zu Versionierungssystemen
Hier sind allgemeine Informationen zu verteilten Versionierungssystemen zu finden.
- http://en.wikipedia.org/wiki/Version_control_system Wikipedia Eintrag
- http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/ Verteilte Versionierungssysteme in Bildern
Versionierungssysteme
Diese Links verweisen auf verschiedene Ressourcen zu verteilten Versionierungssystemen. Sie erklaeren Installation und Benutzung.
- bzr:
- http://bazaar-vcs.org/ bzr
- http://en.wikipedia.org/wiki/Bazaar_(software) Wikipedia Eintrag
- darcs:
- http://wiki.darcs.net/ darcs Wiki
- http://en.wikibooks.org/wiki/Understanding_darcs Understanding darcs
- git:
- http://git.or.cz/ git
- http://www.kernel.org/pub/software/scm/git/docs/user-manual.html git User Manual
- http://cworth.org/hgbook-git/ Basiswissen zu git (Portierung aus dem Mercurial Buch)
- http://en.wikipedia.org/wiki/Git_(software) Wikipedia Eintrag
- http://de.youtube.com/watch?v=4XpnKHJAok8 Video: Linus Torvalds on git
- http://gitcasts.com/ Video: Screencasts zu git
- http://peepcode.com/products/git-internals-pdf Buch zu git
- http://whygitisbetterthanx.com/ Features von git
- hg:
- http://www.selenic.com/mercurial/wiki/index.cgi hg
- http://hgbook.red-bean.com/ hgbook
- http://en.wikipedia.org/wiki/Mercurial_(software) Wikipedia Eintrag
- http://intevation.de/~thomas/mercurial-lt2006/ Einfuehrung in hg
- http://grml.org/mercurial/ Wie die Linux-Distribution grml hg einsetzte
- http://grml.org/2008/10/01/ Warum die Linux-Distribution grml von hg zu git wechselte
- monotone:
- http://monotone.ca/ monotone
- http://en.wikipedia.org/wiki/Monotone_(software) Wikipedia Eintrag
- weitere:
- http://en.wikipedia.org/wiki/List_of_revision_control_software Liste bei Wikipedia
- http://linuxmafia.com/faq/Apps/vcs.html Den Wald vor lauter Baeumen nicht mehr sehen
Integration von VCSen
Versionierungssysteme lassen sich einfach in Entwicklungsumgebungen wie Eclipse und Emacs einbinden. Source Code Management Systeme wie Trac, Launchpad und github bieten die Moeglichkeit Software Projekte zu hosten und zu verwalten.
- Eclipse
- http://bazaar-vcs.org/BzrEclipse bzr Plugin
- http://www.eclipse-plugins.info/eclipse/plugin_details.jsp?id=1091 darcs Plugin
- http://git.or.cz/gitwiki/EclipsePlugin git Plugin
- http://www.vectrace.com/mercurialeclipse/ hg Plugin
- Emacs
- Basisfunktionalitäten auch für verteilte VCS in Emacs23 integriert (pull, push, commit)
- http://zagadka.vm.bytemark.co.uk/magit/magit.html (fast) perfekter git-mode für emacs
- http://download.gna.org/dvc/ Erweiterung speziell für verteilte VCSe (bzr, git, hg, monotone, darcs, arch) Erklärung hier
- Trac
- http://trac.edgewall.org/ Software Project Management System
- https://launchpad.net/trac-bzr bzr Plugin
- http://progetti.arstecnica.it/trac%2Bdarcs/wiki/DarcsPlugin darcs Plugin
- http://trac-hacks.org/wiki/GitPlugin git Plugin
- http://trac.edgewall.org/wiki/TracMercurial hg Plugin
- Launchpad
- https://launchpad.net/ Software Project Management System
- git
- http://github.com/ Software Project Management System
- http://gitorious.org/ Software Project Management System (Nutzt Freie Software!)
- mercurial
- http://bitbucket.org/ Software Project Management System
Vergleiche von Versionierungssystemen
Im Seminarvortrag haben wir nicht unterschiedliche VCSe miteinander verglichen. Dazu gibt es vielerlei Ressourcen im Netz. Hier sind drei genannt. Meist arten solcherlei Vergleiche jedoch in Flamewars aus. Am besten man probiert die VCSe selbst aus und findet seine Lieblinge. Es gibt auch die Moeglichkeit VCSe zu konvertieren (repository conversion), wenn ein Projekt mit einem anderen VCS arbeitet als man selbst arbeiten moechte.
- http://www.infoq.com/articles/dvcs-guide Feature Vergleich von git, hg, bzr
- http://www.dribin.org/dave/blog/archives/2007/12/28/dvcs/ Vergleich von git, hg, bzr
- http://importantshock.wordpress.com/2008/08/07/git-vs-mercurial/ git vs. hg
- http://versioncontrolblog.com/comparison/ Übersichtlicher Vergleich vieler VCSs