Thread Source Code verwalten (30 answers)
Opened by tophoven at 2009-07-15 09:40

murphy
 2009-07-19 16:02
#123380 #123380
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
2009-07-19T02:41:45 sid burn
2009-07-19T01:24:55 murphy
Warum, zum Beispiel, muss man bei Git von Hand eine Garbagecollection des Repositorys anstoßen?

Wenn das jedesmal bei jeden commit gemacht werden würde, oder push, dann würde die commit und push phasen zu lange dauern. [...]

Klar, aber dass es überhaupt jemals nötig ist, sieht für mich schon nach einem Designfehler aus.

Quote
Quote
Warum ist das Repository überhaupt in einem komischen Binärformat abgelegt, das ich nicht notfalls von Hand kontrollieren kann?

Das Repository wird LZMA Komprimiert abgespeichert, um Speicherplatz zu sparen. Aber auch um den Traffic über das Internet zu reduzieren. Und warum willst du ihn von Hand kontrollieren?

Bei einem Versionskontrollsystem ist es mir wichtig, dass ein Datenverlust so gut wie ausgeschlossen werden kann. Ein binäres Repository, noch dazu in nur einer einzigen komprimierten Datei, birgt aber ein größeres Risiko, dass das Versionskontrollsystem seine Datensammlung zerschiesst und es mir auch manuell nicht mehr möglich ist, sie zu reparieren, während ich bei textuellen Metainformationsdateien wenigstens im Notfall eine realistische Chance habe, daran herumzueditieren.

Ferner ist diese Speichervariante extrem ineffizient, wenn man wie ich auch gerne mal lokal mehrere Branches anlegt um verschiedene Dinge auszuprobieren. Da sind die Speicherschemata bei Mercurial und Bazaar cleverer, weil nicht für jeden Branch ein riesiger Datenhaufen kopiert werden muss, sondern alle gemeinsamen Revisionsdaten auch gemeinsam benutzt werden können.

Quote
[...] Wenn man eine Datei umbenennt mit seinen herkömlichen mitteln sagen wir einfach "mv" unter Linux, dann erkennt Git das auch selbstständig. [...]

Bekommt es auch wirklich mit, dass die gleiche Datei jetzt anders heißt und übernimmt korrekt die Versionsgeschichte? mv durch Löschen plus neu Hinzufügen zu implementieren ist meiner Meinung nach wenig nützlich.

Quote
Quote
Ferner erscheint mir die Aufteilung von Git in bestimmt ein dutzend einzelne low-level Kommandozeilenprogramme plus weitere high-level Kommandozeilenwrapper unübersichtlich.

Du musst die Low-Level Sachen auch nicht lernen/nutzen.

Nutzen muss ich sie nicht, aber wenn ich zum Beispiel einfach mal man git eingebe, bekomme ich eine solch riesige Liste von Kommandos um die Ohren gehauen, dass ich schon gar keine Lust mehr habe, mich auf die Suche nach dem passenden Highlevelbefehl zu machen, den ich brauche.
When C++ is your hammer, every problem looks like your thumb.

View full thread Source Code verwalten