KunterBuntesSeminar-WS08/Versionierungssysteme: Unterschied zwischen den Versionen

Aus Fachschaft_Informatik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
(→‎Integration von VCSen: Link zu Erklärung für dvc)
 
(13 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:
= 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.
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.
= 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.


Ihr könnt euch natürlich unsere Folien direkt als Quelltext mit allem drum und dran mit '''hg clone ssh://fbi//home/j2005/5koehn/kbs/vcs''' ziehen.
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 =
= Weiterführende Links =
* http://en.wikipedia.org/wiki/Version_control_system
Diese Links sollen bei der weiteren Recherche als Einstiegspunkte helfen.
* weitere Links folgen nach dem Vortrag mit den Vortragsfolien
 
== 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]]

Aktuelle Version vom 11. Februar 2009, 00:44 Uhr

Das ist der zehnte Termin vom KunterBuntesSeminar-WS08

Abstract[Bearbeiten]

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.

Seminarvortrag[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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 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[Bearbeiten]

Diese Links sollen bei der weiteren Recherche als Einstiegspunkte helfen.

Allgemeines zu Versionierungssystemen[Bearbeiten]

Hier sind allgemeine Informationen zu verteilten Versionierungssystemen zu finden.

Versionierungssysteme[Bearbeiten]

Diese Links verweisen auf verschiedene Ressourcen zu verteilten Versionierungssystemen. Sie erklaeren Installation und Benutzung.

Integration von VCSen[Bearbeiten]

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.

  • 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 hier

Vergleiche von Versionierungssystemen[Bearbeiten]

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.