Versionskontrolle

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Panke
User
Beiträge: 185
Registriert: Sonntag 18. März 2007, 19:26

Guten Tag,

Ich habe noch nie mit einem Version Control System gearbeitet und möchte mir jetzt eins zulegen. Was würdet ihr mir empfehlen im Hinblick auf Bedienbarkeit und Integration in Emacs und andere Editoren?

Grüße
Panke
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Panke hat geschrieben:Guten Tag,

Ich habe noch nie mit einem Version Control System gearbeitet und möchte mir jetzt eins zulegen. Was würdet ihr mir empfehlen im Hinblick auf Bedienbarkeit und Integration in Emacs und andere Editoren?

Grüße
Panke
Naja du musst zuerst mal eine Grundentscheidung treffen:
Verteilt oder Zentral.

Für ein Zentrales Repository empfehle ich dir Subversion.

Beim Dezentralen bin ich mir nicht so sicher ;)
Ich bin derzeit Git und Bazaar am evaluieren. Falls jemand Erfahrungen mit einem dezentralen SCM hat würde mich das interessieren

Zentral vs. Dezentral scheint ein Heiliger Krieg zu sein ;) Da ich bisher nur wenig Erfahrungen mit dezentralen SCM sammeln konnte halte ich mich aus dem jedoch heraus.

Noch was:
Verwende auf keinen, wirklich gar keinen Fall Micro$oft Sourcesafe. Begründen muss ich das vermutlich nicht. Im Zweifelsfall spuckt google genug Informationen heraus.
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

veers hat geschrieben: Beim Dezentralen bin ich mir nicht so sicher ;)
Ich bin derzeit Git und Bazaar am evaluieren. Falls jemand Erfahrungen mit einem dezentralen SCM hat würde mich das interessieren
Ja. Bazaar ist furchtbar langsam und eingeschränkt, wird aber von Canonical ge"hypet". Git ist recht stabil und flott. Mercurial (hg) ist das auch, und darüberhinaus in Python geschrieben.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

birkenfeld hat geschrieben:Ja. Bazaar ist furchtbar langsam und eingeschränkt, wird aber von Canonical ge"hypet".
Langsam, ja. Spielt für mich aber nicht so eine Rolle, das eh nur kleinere Projekte sind. Gehyped, Ja! Spätestens nach dem ich dauernd Werbung dafür gesehen habe (auf Freshmeat oder so), wurde mich das bewusst. Muss es aber nicht schlecht machen. Eingeschränkt, hm... Den Eindruck hatte ich weniger. Was fehlt dir den konkret?
BlackJack

Meine beiden Favoriten sind Subversion und Mercurial (hg). Subversion ist mittlerweile ein Standard im OpenSource-Bereich. Ist deswegen schon mal einen Blick wert.
welterde
User
Beiträge: 5
Registriert: Mittwoch 15. November 2006, 17:29

veers hat geschrieben:
birkenfeld hat geschrieben:Ja. Bazaar ist furchtbar langsam und eingeschränkt, wird aber von Canonical ge"hypet".
Langsam, ja. Spielt für mich aber nicht so eine Rolle, das eh nur kleinere Projekte sind. Gehyped, Ja! Spätestens nach dem ich dauernd Werbung dafür gesehen habe (auf Freshmeat oder so), wurde mich das bewusst. Muss es aber nicht schlecht machen. Eingeschränkt, hm... Den Eindruck hatte ich weniger. Was fehlt dir den konkret?
er mag es einfach nur nicht, dass ist alles
und so langsam ist es auch nicht(zumindest bei mir), ist ungefähr genauso schnell wie subversion(je nach operation)
des weiteren ist bzr auch in python geschrieben, ohne hässliche C-Zusätze
Proud to be a [url=http://www.pocoo.org/]Pocoo[/url] Developer.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

welterde hat geschrieben:er mag es einfach nur nicht, dass ist alles
und so langsam ist es auch nicht(zumindest bei mir), ist ungefähr genauso schnell wie subversion(je nach operation)
des weiteren ist bzr auch in python geschrieben, ohne hässliche C-Zusätze
SVN ist in vielen Fällen aber (vergleichsweise) langsam ;)

Und ob ich das toll finden soll das es in reinem Python geschrieben ist weis ich nicht. Die Performance wird es auf jeden Fall nicht erhöhen ;)

Da du ein überzeugter bzr Nutzer zu sein scheinst, warum sollte ich bzr benutzen? Was macht bzr toller als git, hg oder (urgs) tla/arch.
Zuletzt geändert von veers am Dienstag 5. Juni 2007, 22:36, insgesamt 1-mal geändert.
Benutzeravatar
mq
User
Beiträge: 124
Registriert: Samstag 1. Januar 2005, 19:14

welterde hat geschrieben:so langsam ist es auch nicht(zumindest bei mir), ist ungefähr genauso schnell wie subversion(je nach operation)
Auf Projekten welcher Groesse denn? Wenn ich mich recht entsinne, hat Mozilla vor dem Umstieg auf Mercurial einige Benchmarks durchgefuehrt, bei denen bazaar gnadenlos abgekackt ist.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

lumax hat geschrieben:Auf Projekten welcher Groesse denn? Wenn ich mich recht entsinne, hat Mozilla vor dem Umstieg auf Mercurial einige Benchmarks durchgefuehrt, bei denen bazaar gnadenlos abgekackt ist.
Gut, das war vermutlich schon eine Weile her. Wird in vielen Fällen auch nicht relevant sein weil nur Wenige Projekte so gross sind wie Mozilla ;)
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

veers hat geschrieben: Noch was:
Verwende auf keinen, wirklich gar keinen Fall Micro$oft Sourcesafe. Begründen muss ich das vermutlich nicht. Im Zweifelsfall spuckt google genug Informationen heraus.
Den meisten würde schon reichen das es von MS ist :-)

Und höchstwarscheinlich nicht unter Linux lauffähig
Benutzeravatar
tiax
User
Beiträge: 152
Registriert: Samstag 23. Juli 2005, 17:28
Kontaktdaten:

Subversion ist natürlich ein Klassiker, bei dem man nicht besonders viel falsch machen kann. Gesetzt den Fall natürlich, dass man einen externen Host für das Repo verwenden kann. Das gibt SVN den Vorteil, als Basis für Trac und als "externes Backup" für den Quellcode dienen zu können. Durch seine Bestimmung als "zentralisiertes System" ist es dafür halt prädestiniert (na, wer erkennt den Pleonasmus?). Dann kann man allerdings weder lokale und private Branches verwirklichen noch offline Quellcode comitten. Zu dem Zweck ist allerdings SVK toll - kompatibel zu Subversion, aber mit lokalen (und entfernten) Repos.

Dagegen stehen wohl bei den meisten Anhängern von Python Mercurial und Bazaar. Bazaar wurde ja schon genannt - wichtig dazuzusagen ist, dass Bazaar auch Subversion-Branches verwenden kann. Interessant wird das beim Einsatz von Trac (oder halt ganz Subversion) im Projekt. Dafür kann man bei reinen Bazaar-Entwicklungsteams trac nicht ohne weiteres verwenden. trac-bzr hat bei mir nicht geklappt.

Mercurial als Gegenstück dazu bietet die Möglichkeit nicht, Subversion zu integrieren. Mit Klimmzügen geht es über tailor aber für die tägliche Arbeit ist das etwas sehr wirr. Wenn man allerdings die Möglichkeit hat, "nur" Mercurial einzusetzen, klappt das wunderbar. Tolles Versionssystem, dazu wurde ja schon viel gesagt. Davon abgesehen gibt es Trac-HG, was wunderbar funktioniert.

Für "heimcoderei" unterscheiden sich die meisten Systeme zur Versionskontrolle nicht wirklich wesentlich. Trac allerdings kann ziemlich viel rausreißen.
Ne invoces expellere non possis
[url=xmpp://florian@florianheinle.de]xmpp:florian@florianheinle.de[/url]
welterde
User
Beiträge: 5
Registriert: Mittwoch 15. November 2006, 17:29

lumax hat geschrieben:
welterde hat geschrieben:so langsam ist es auch nicht(zumindest bei mir), ist ungefähr genauso schnell wie subversion(je nach operation)
Auf Projekten welcher Groesse denn? Wenn ich mich recht entsinne, hat Mozilla vor dem Umstieg auf Mercurial einige Benchmarks durchgefuehrt, bei denen bazaar gnadenlos abgekackt ist.
Ich kenn einen viel besseren Benchmark, er heißt ausprobiern
Projektgröße? naja, so klein bis mittel
@veers außerdem halte ich es für leichter bedienbar als andere VCS
des weiteren gibts auch mehr plugins für bzr, als für die meisten(?) anderen
Proud to be a [url=http://www.pocoo.org/]Pocoo[/url] Developer.
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

welterde hat geschrieben:
veers hat geschrieben:
birkenfeld hat geschrieben:Ja. Bazaar ist furchtbar langsam und eingeschränkt, wird aber von Canonical ge"hypet".
Langsam, ja. Spielt für mich aber nicht so eine Rolle, das eh nur kleinere Projekte sind. Gehyped, Ja! Spätestens nach dem ich dauernd Werbung dafür gesehen habe (auf Freshmeat oder so), wurde mich das bewusst. Muss es aber nicht schlecht machen. Eingeschränkt, hm... Den Eindruck hatte ich weniger. Was fehlt dir den konkret?
er mag es einfach nur nicht, dass ist alles
Ja, ich stehe damit auch ganz allein da.
und so langsam ist es auch nicht(zumindest bei mir), ist ungefähr genauso schnell wie subversion(je nach operation)
des weiteren ist bzr auch in python geschrieben, ohne hässliche C-Zusätze
Wenn du C nicht magst, solltest du Python allerdings nicht mehr einsetzen.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
welterde
User
Beiträge: 5
Registriert: Mittwoch 15. November 2006, 17:29

birkenfeld hat geschrieben:Ja, ich stehe damit auch ganz allein da.
*böses unterstell* es gibt ja auch leute, die finden M$ gut :roll:
oder linux schlecht *noch böseres unterstell*
aber davon fangen wir besser nicht an


und in welcher weise ist bazaar beschränkt?
birkenfeld hat geschrieben:Wenn du C nicht magst, solltest du Python allerdings nicht mehr einsetzen.
ach, jetzt auch noch python schlecht machen.... *schlimm, schlimm* ;)

aber anstatt, die jeweils anderen VCS durch den Kakao zu ziehen, sollten wir besser die coolen features, der jeweiligen vcs hervorheben, nich?
Proud to be a [url=http://www.pocoo.org/]Pocoo[/url] Developer.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Features von bzr: laaaaaaaaannnnnnngggggsam. dafür nette API. aber laaaaaaannngsam.

Mein Tipp (mirakle wipp^W^W) Mercurial, oder Subversion wenn man closed source zeug macht, für open source Projekte find ichs mittlerweile einfach nur eine schlechte Idee, da hat Linus' Präsentation geholfen. Ansonsten ist git einen Blick wert, da tut sich momentan viel.
TUFKAB – the user formerly known as blackbird
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

welterde hat geschrieben:
birkenfeld hat geschrieben:Ja, ich stehe damit auch ganz allein da.
*böses unterstell* es gibt ja auch leute, die finden M$ gut :roll:
oder linux schlecht *noch böseres unterstell*
aber davon fangen wir besser nicht an
Da fehlt mir jetzt der Zusammenhang.
birkenfeld hat geschrieben:Wenn du C nicht magst, solltest du Python allerdings nicht mehr einsetzen.
ach, jetzt auch noch python schlecht machen.... *schlimm, schlimm* ;)
Non sequitur.
aber anstatt, die jeweils anderen VCS durch den Kakao zu ziehen, sollten wir besser die coolen features, der jeweiligen vcs hervorheben, nich?
Dann fang besser mal an.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

blackbird hat geschrieben:für open source Projekte find ichs mittlerweile einfach nur eine schlechte Idee, da hat Linus' Präsentation geholfen.
Hallo blackbird!

Du sprichst in Rätseln. Welche Präsentation? So viele Projekte mit mehr als 10 gleichzeitigen Mitarbeitern gibt es jetzt auch wieder nicht. Warum gegen Subversion??? Ich arbeite im Durchschnitt mit 2-4 Personen an Projekten, die in SVN-Repositories liegen. Dabei bin ich aber immer die letzte Instanz. Ich bin für den Code verantwortlich und gebe die Regeln vor. Ich denke mal, dass bei den meisten Projekten eine oder zwei Personen die oberste Instanz dar stellen, die die Regeln vorgeben und anderen Entwicklern ihren eigenen Branch für Teilprojekte zuweisen und letztendlich auch das OK für die Einbindung eines Branches in den Trunk geben.

SVN ist unter Windows sehr gut in den Explorer integriert und mit pySVN-Workbench http://pysvn.tigris.org/docs/WorkBench.html gibt es auch einen GUI-Client, der angeblich nicht schlecht sein soll. Mit den Hooks, können serverseitig z.B. beim "Commiten" des Quellcodes Programme ausgeführt werden. Ich nutze das z.B. um Websites und Intranetsites von Kunden lokal zu entwickeln. Der neueste Tag stellt die Website dar, die automatisch aktualisiert wird. Das funktioniert sogar mit Zope, wenn man im Dateisystem entwickelt.

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

gerold hat geschrieben:Du sprichst in Rätseln. Welche Präsentation? So viele Projekte mit mehr als 10 gleichzeitigen Mitarbeitern gibt es jetzt auch wieder nicht. Warum gegen Subversion??? Ich arbeite im Durchschnitt mit 2-4 Personen an Projekten, die in SVN-Repositories liegen. Dabei bin ich aber immer die letzte Instanz. Ich bin für den Code verantwortlich und gebe die Regeln vor. Ich denke mal, dass bei den meisten Projekten eine oder zwei Personen die oberste Instanz dar stellen, die die Regeln vorgeben und anderen Entwicklern ihren eigenen Branch für Teilprojekte zuweisen und letztendlich auch das OK für die Einbindung eines Branches in den Trunk geben.
http://www.youtube.com/watch?v=4XpnKHJAok8

Anschauen, das erklärt auch die Frage :D
TUFKAB – the user formerly known as blackbird
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

http://www.opensolaris.org/os/community ... /bzr-eval/
Local clone of this repository: 23m02s - 25m31s over three runs.
Local commit of one file in the repository: 16m47s.
Das ist nicht langsam, das ist unbrauchbar!

http://www.opensolaris.org/os/community ... -final.txt
Local clone of the same repository: 2m35s
Local commit of one file in the repository: 9s
Wobei zumindest als das getestet wurde Git kein (funktionierendes/history erhaltendes) mv hatte.

Werde mir Mercurial wohl doch noch ansehen.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Da sieht man wieder, wie man sich von Idolen beeinflussen lassen kann.

Es gibt Anwendungsgebiete in denen SVN besser ist und es gibt Anwendungsgebiete in denen GIT besser ist. Einfach ein System pauschal zu verteufeln halte ich nicht für sinnvoll.

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Antworten