Bearbeiten von „KunterBuntesSeminar-WS08/Versionierungssysteme

Zur Navigation springen Zur Suche springen

Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.

Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.

Aktuelle Version Dein Text
Zeile 2: Zeile 2:


= Abstract =
= Abstract =
Wir möchten euch Versionierungssysteme (VCS) 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.
Dieser Abstract wird noch vom Veranstalter bearbeitet.
 
= Seminarvortrag =
Bei dem Vortrag handelt es sich um eine Einfuehrung in Versionierungssysteme. Ziel ist es Neulingen die Benutzung von Versionierungssystemen zu veranschaulichen und ihnen die Entscheidung offen zu lassen welche Software sie dann selbst verwenden.
 
Wir haben in unserem Seminarvortrag verteilte Versionierungssysteme (dVCS) betrachtet, da wir die Vorteile dieser gegenueber den zentralen Versionierungssystemen schaetzen. Die Benutzung von dVCSen haben wir anhand von Mercurial erklaert, weil wir Mercurial besser beherschen als git, bzr und andere dVCSe.
 
== Vortragende ==
5koehn, 4bewersd:
 
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 =
= Folien/Material =
 
Hier wird nach dem Vortrag Material wie Handouts, Folien, oder anderes zu finden sein.
Die Vortragsfolien gibt es unter '''fbi:/home/j2005/5koehn/kbs/vcs/folien.pdf'''
 
Unter '''fbi:/home/j2005/5koehn/kbs/vcs''' gibt es die LaTeX-Quelldatei dazu. Sie liegt in einem Mercurial Repository und man kann damit (nach erforderlicher [http://www.informatik.uni-hamburg.de/Fachschaft/wiki/index.php/SSH#Konfiguration Konfiguration]) wie folgt arbeiten:
 
$ hg clone ssh://fbi//home/j2005/5koehn/kbs/vcs kbs_versionierungssysteme  # Repository "auschecken"
$ cd kbs_versionierungssysteme # in das neu angelegte Verzeichnis mit der Arbeitskopie wechseln
$ hg pull  -u  # Neue Änderungen holen && Änderungen auf die lokale Arbeitskopie anwenden
$ emacs datei.tex # Datei ändern
$ hg commit -m "hier beschreibe ich meine Änderungen" # Datei "einchecken"
$ hg push # Änderungen in die Uni pushen und somit für alle sichtbar machen
 
hg ist die Programmdatei von Mercurial. Um die obigen Befehle auszufuehren muss Mercurial auf dem Rechner installiert sein. Man kann sich die Quelldatei aber auch aus dem Arbeitsverzeichnis kopieren:
 
$ mkdir kbs_versionierungssysteme # Verzeichnis erstellen
$ cd kbs_versionierungssysteme # in das Verzeichnis wechseln
$ scp -r fbi:/home/j2005/5koehn/kbs/vcs/* . # Dateien kopieren
 
= 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 (next-stable) integriert (pull, push, commit)
** http://download.gna.org/dvc/ Erweiterung speziell für verteilte VCSe (bzr, git, hg, monotone, darcs, arch) Erklärung [http://xtalk.msk.su/~ott/en/writings/emacs-vcs/EmacsDVC.html 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
 
* gitHub
** http://github.com/ 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
 
[[Kategorie:KunterBuntesSeminar]]

Bitte beachte, dass alle Beiträge zu Fachschaft_Informatik von anderen Mitwirkenden bearbeitet, geändert oder gelöscht werden können. Reiche hier keine Texte ein, falls du nicht willst, dass diese ohne Einschränkung geändert werden können.

Du bestätigst hiermit auch, dass du diese Texte selbst geschrieben hast oder diese von einer gemeinfreien Quelle kopiert hast (weitere Einzelheiten unter Fachschaft Informatik:Urheberrechte). ÜBERTRAGE OHNE GENEHMIGUNG KEINE URHEBERRECHTLICH GESCHÜTZTEN INHALTE!

Bitte beantworte die folgende Frage, um diese Seite bearbeiten zu können (<a href="/Fachschaft/wiki/index.php?title=Special:Captcha/help" class="internal">weitere Informationen</a>):

Abbrechen Bearbeitungshilfe (wird in einem neuen Fenster geöffnet)