Hallo allerseits,

Arne Babenhauserheide ſchrieb am 12.05.2010 16:03 Uhr:
Ich selbst habe mir inzwischen schon mehrfach mit git bei Standardaufgaben böse 
in den Fuß geschossen (soweit, dass ich neu klonen musste), mit Mercurial 
dagegen noch nie.

Dann kann ich allerdings gut nachvollziehen, warum Du jetzt Git eher abgeneigt bist, so etwas sollte natürlich definitiv nicht passieren. Ich selbst habe mir erst ein einziges Mal ein Git-Repository so total vermurkst, dass ich mir lieber das letzte Backup neu geklont habe, aber dass war definitiv mir anzulasten – ich war da noch hundertprozentig in der alten SVN-Denke verhaftet und wusste mit einem DVCS noch nicht richtig umzugehen.

Und Mercurial bedient sich grundlegend wie Subversion, wenn man im Kopf behält, 
dass commit nur lokal wirkt und pull/push neue Änderungen holen bzw.
rausschicken.

Wie bereits gesagt bin ich der Ansicht, das sich Mercurial und Git in der Bedienung nicht so sehr voneinander unterscheiden; und gewisse Schwierigkeiten vom Umstieg von SVN auf ein DVCS sind (leider) einfach nicht zu vermeiden, einfach da sich hier ganz neue Arbeitsabläufe eröffnen. Aber auch Git kann man wie ein SVN bedienen … man kann sogar auf ein SVN zugreifen :).

Doch: Das Mercurial Plugin funktioniert auch in die andere Richtung:

Klar, das Plugin selbst funktioniert bidirektional und kann die beiden Formate ineinander unwandeln aber es liegt eben nur für hg- und nicht für git-Clients vor (das meinte ich).

Mercurial baut auf jedem System auf dem auch git baut […] in Python[…] 
geschrieben

<humor>Das wäre dann wieder ein Punkt für Git: “Python? That is for children. A 
Klingon Warrior uses only machine code, keyed in on the front panel switches in raw 
binary.” ;)</humor>

Für mich ist seltsamerweise gerade die Datenstruktur ein Grund Mercurial zu 
nutzen.

Ich finde das doch recht witzig, wir finden den selben Aspekt wichtig, aber sind zu genau entgegengesetzten Einschätzungen gekommen. An der Git-Datenstruktur schätze ich, dass sie auf der untersten Ebene recht simpel ist und gleichzeitig jede Redundanz vermeidet – vielleicht sind deshalb die git-Repositories im Allgmeinen die Kleinsten (ja, ich habe hier mal wieder ein git gc vorausgesetzt).

Es verwendet zwar auch Patches, speichert sie aber in einem Dateibaum, der 
bessere Zugriffssemantiken bietet (Festplatten-seeks vermeiden) und nutzt 
snapshots (wie in Videokomprimierung), um den Zugriff zu beschleunigen.

Eigentlich arbeitet Git da recht ähnlich, in den Packfiles gibt es auch unkomprimierte Schnappschüsse, Deltakodierung und Indizierung für einen schnelleren Zugriff. Ich glaube, in dieser Frage werden wir einfach nicht zueinander finden … einigen wir uns darauf, das wir uns uneinig sind :).

Arne Babenhauserheide ſchrieb am 18.05.2010 07:42 Uhr:
Christian Kluge ſchrieb:
1.7.* ist doch schon seit Ewigkeiten raus
Wird aber von den Gentoo-Maintainern noch nicht als stabil betrachtet, deshalb 
habe ich es nicht. Ich nutze Testversionen nur bei den Sachen, bei
denen ich wirklich die neusten Features testen will. Der Rest hat einfach zu 
laufen, und da vertraue ich auf das Urteil der Maintainer.

Und ich würde keinen Distributions-Maintainern glauben, die glauben kompetenter als die eigentlicher Software-Maintainer zu sein ;): “The latest stable Git release is v1.7.1.” (http://git-scm.com/).

git checkout -h
Ah, darauf warte ich seit Jahren!

Dann hat Dir die neue Version doch etwas gebracht, #Friede_Freude_Eierkuche :).

Allerdings könnten „-b<new branch>  → branch“ u.ä. doch etwas ausführlicher 
sein…

“Specifications are for the weak and timid!”¹ ;) – aber inzwischen ist die Git-Dokumentation recht gut ausgebaut (am Anfang war die wohl noch /richtig/ mies im Vergleich zu Mercurial), wobei ich niemanden empfehlen würde, Git oder auch Mercurial ausſchließlich über die Manpages zu lernen. Dafür gibt es einfach viel zu viele, und man kann sich ja wohl kaum alphabetisch durchlesen … besser ist es da, mit einem guten Tutorial anzufangen.

Nebenbei: Hast du gemerkt, dass auf einem deutschen System der Großteil der 
Ausgabe von Mercurial auf Deutsch ist?

Erst jetzt, wo Du es sagst :). Wobei ich kein Problem mit Englisch habe, und bei Kommandozeilenbefehlen sogar lieber englischſprachige Manpages lese, einfach weil ich mir dann die Abkürzungen besser merken kann – rm -f steht ja für “remove --force”, und nicht für löschen --erzwingen.


Viele Grüße,
Dennis-ſ


¹ http://gradha.sdf-eu.org/textos/klingon_programmer.en.html

Antwort per Email an