diff --git a/de/drawbacks.txt b/de/drawbacks.txt new file mode 100644 index 00000000..058c11e0 --- /dev/null +++ b/de/drawbacks.txt @@ -0,0 +1,182 @@ +== Anhang A: Git's Mängel == + +Ein paar Git-Probleme habe ich bisher unter den Teppich gekehrt. Einige +lassen sich einfach mit Skripten und 'Hooks' lösen, andere erfordern eine +Reorganisation oder Neudefinition des gesamten Projekt und für die wenigen +verbleibenden Beeinträchtigungen kannst Du nur auf eine Lösung warten. Oder +noch besser, anpacken und mithelfen. + +=== SHA1 Schwäche === + +Mit der Zeit entdecken Kryptographen immer mehr Schwächen an SHA1. Schon +heute wäre es technisch machbar für finanzkräftige Unternehmen +Hash-Kollisionen zu finden. In ein paar Jahren hat vielleicht schon ein ganz +normaler Heim-PC ausreichend Rechenleistung um ein Git 'Reopsitory' +unbemerkt zu korrumpieren. + +Hoffentlich stellt Git auf eine bessere Hash Funktion um, bevor die +Forschung SHA1 komplett unnütz macht. + +=== Microsoft Windows === + +Git unter Microsoft Windows kann frustrierend sein: + +- http://cygwin.com/[Cygwin], eine Linux ähnliche Umgebung für Windows, +enthält http://cygwin.com/packages/git/[eine Windows Portierung von Git]. + +- http://code.google.com/p/msysgit/[Git unter MSys] ist eine Alternative, +die sehr wenig Laufzeitunterstützung erfordert, jedoch bedürfen einige +Kommandos noch einer Überarbeitung. + +=== Dateien ohne Bezug === + +Wenn Dein Projekt sehr groß ist und viele Dateien enthält, die in keinem +direkten Bezug stehen, trotzdem aber häufig geändert werden, kann Git +nachteiliger sein als andere Systeme, weil es keine einzelnen Dateien +überwacht. Git überwacht immer das ganze Projekt, was normalerweise schon +von Vorteil ist. + +Eine Lösung ist es, Dein Projekt in kleinere Stücke auszuteilen, von denen +jedes nur die in Beziehung stehenden Dateien enthält. Benutze *git +submodule* wenn Du trotzdem alles in einem einzigen 'Repository' halten +willst. + +=== Wer macht was? === + +Einige Versionsverwaltungssysteme zwingen Dich explizit eine Datei auf +irgendeine Weise für die Bearbeitung zu kennzeichnen. Auch wenn es extrem +Lästig, wenn es die Kommunikation mit einem zentralen Server erfordert, so +hat es doch zwei Vorteile: + + 1. Unterschiede sind schnell gefunden, weil nur die markierten Dateien + untersucht werden müssen. + + 2. Jeder kann herausfinden wer sonst gerade an einer Datei arbeitet, indem + er beim zentralen Server anfragt, wer die Datei zum Bearbeiten markiert + hat. + +Mit geeigneten Skripten kannst Du das auch mit Git hinkriegen. Das erfordert +aber die Mitarbeit der Programmierer, denn sie müssen die Skripte auch +aufrufen, wenn sie eine Datei bearbeiten. + +=== Dateihistorie === + +Da Git die Änderungen über das gesamte Projekt aufzeichnet, erfordert die +Rekonstruktion des Verlaufs einer einzelnen Datei mehr Aufwand als in +Versionsverwaltungssystemen die einzelne Dateien überwachen. + +Die Nachteile sind üblicherweise gering und werden gern in Kauf genommen, da +andere Operationen dafür unglaublich effizient sind. Zum Beispiel ist `git +checkout` schneller als `cp -a` und projektweite Unterschiede sind besser zu +komprimieren als eine Sammlung von Änderungen auf Dateibasis. + +=== Der erster Klon === + +Einen Klon zu erstellen ist aufwendiger als in anderen +Versionsverwaltungssystemen, wenn ein längerer Verlauf existiert. + +Der initiale Aufwand lohnt sich aber auf längere Sicht, da die meisten +zukünftigen Operationen dann schnell und offline erfolgen. Trotzdem gibt es +Situationen, in denen es besser ist einen oberflächlichen Klon mit der +`--depth` Option zu erstellen. Das geht wesentlich schneller, aber der +resultierende Klon hat nur eingeschränkte Funktionalität. + +=== Unbeständige Projekte === + +Git wurde geschrieben um schnell zu sein, im Hinblick auf die Größe der +Änderungen. Leute machen kleine Änderungen von Version zu Version. Ein +einzeiliger Bugfix hier, eine neue Funktion da, verbesserte Kommentare und +so weiter. Aber wenn sich Deine Dateien zwischen aufeinander folgenden +Versionen gravierend ändern, dann wird zwangsläufig mit jedem 'Commit' Dein +Verlauf um die Größe des gesamten Projekts wachsen. + +Es gibt nichts, was irgendein Versionsverwaltungssystem dagegen machen kann, +aber der Standard Git Anwender leidet mehr darunter, weil normalerweise der +ganze Verlauf geklont wird. + +Die Ursachen für die großen Unterschiede sollten ermittelt +werden. Vielleicht können Dateiformate geändert werden. Kleinere +Bearbeitungen sollten auch nur minimale Änderungen an nur wenigen Dateien +bewirken. + +Vielleicht ist eher eine Datenbank oder Sicherungs-/Archivierungslösung +gesucht, nicht ein Versionsverwaltungssystem. Ein Versionsverwaltungssystem +zum Beispiel ist eine ungeeignete Lösung um Fotos zu verwalten, die +periodisch von einer Webcam gemacht werden. + +Wenn die Dateien sich tatsächlich konstant verändern und sie wirklich +versioniert werden müssen, ist es eine Möglichkeit Git in zentralisierter +Form zu verwenden. Jeder kann oberflächliche Klone erstellen, die nur wenig +oder gar nichts vom Verlauf des Projekts enthalten. Natürlich sind dann +viele Git Funktionen nicht verfügbar und Änderungen müssen als 'Patches' +übermittelt werden. Das funktioniert wahrscheinlich ganz gut, wenn auch +unklar ist, warum jemand die Versionsgeschichte von wahnsinnig instabilen +Dateien braucht. + +Ein anderes Beispiel ist ein Projekt, das von Firmware abhängig ist, welche +die Form einer großen Binärdatei annimmt. Der Verlauf der Firmware +interessiert den Anwender nicht und Änderungen lassen sich schlecht +komprimieren, so blähen Firmwarerevisionen die Größe des 'Repository' +unnötig auf. + +In diesem Fall sollte der Quellcode der Firmware in einem Git 'Repository' +gehalten werden und die Binärdatei außerhalb des Projekts. Um das Leben zu +vereinfachen, könnte jemand ein Skript erstellen, das Git benutzt um den +Quellcode zu klonen und 'rsync' oder einen oberflächlichen Klon für die +Firmware. + +=== Globaler Zähler === + +Verschiedene Versionsverwaltungssysteme unterhalten einen Zähler, der mit +jedem 'Commit' erhöht wird. Git referenziert Änderungen anhand ihres +SHA1-Hash, was in vielen Fällen besser ist. + +Aber einige Leute sind diesen Zähler gewöhnt. Zum Glück ist es einfach, +Skripte zu schreiben, sodass mit jedem Update das zentrale Git 'Repository' +einen Zähler erhöht. Vielleicht in Form eines Tags, der mit dem SHA1-Hash +des letzten 'Commit' verknüpft ist. + +Jeder Klon könnte einen solchen Zähler bereitstellen, aber der wäre +vermutlich nutzlos, denn nur der Zähler des zentralen 'Repository' ist für +alle relevant. + +=== Leere Unterverzeichnisse === + +Leere Unterverzeichnisse können nicht überwacht werden. Erstelle eine +Dummy-Datei um dieses Problem zu umgehen. + +Die aktuelle Implementierung von Git, weniger sein Design, ist +verantwortlich für diesen Pferdefuß. Mit etwas Glück, wenn Git's Verbreitung +zunimmt und mehr Anwender nach dieser Funktion verlangen, wird sie +vielleicht implementiert. + +=== Initialer 'Commit' === + +Ein klischeehafter Computerwissenschaftler zählt von 0 statt von 1. Leider, +bezogen auf 'Commits', hält sich Git nicht an diese Konvention. Viele +Kommandos sind mürrisch vor dem intialen 'Commit'. Zusätzlich müssen +verschiedene Grenzfälle speziell behandelt werden, wie der 'Rebase' eines +'Branch' mit einem abweichenden initialen 'Commit'. + +Git würde davon provitieren, einen Null-'Commit' zu definieren: sofort nach +dem Erstellen eines 'Repository' wird der 'HEAD' auf eine Zeichenfolge von +20 Null-Bytes gesetzt. Dieser spezielle 'Commit' repräsentiert einen leeren +'Tree', ohne Eltern, irgendwann vielleicht der Vorfahr aller Git +'Repositories'. + +Würde dann zum Beispiel *git log* ausgeführt, würde der Anwender darüber +informiert, daß noch keine 'Commits' gemacht wurden, anstelle mit einem +fatalen Fehler zu beenden. Stellvertretenden für andere Anweisungen. + +Jeder initiale 'Commit' ist dann stillschweigend ein Abkömmling dieses +Null-'Commits'. + +Leider gibt es noch ein paar Problemfälle. Wenn mehrere 'Branches' mit +unterschiedlichen initialen 'Commits' zusammengeführt und dann ein 'Rebase' +gemacht wird, ist ein manuelles Eingreifen erforderlich. + +=== Eigenarten der Anwendung === + +Für die 'Commits' A und B, hängt die Bedeutung der Ausdrücke "A..B" und +"A...B" davon ab, ob eine Anweisung zwei Endpunkte erwartet oder einen +Bereich. Siehe *git help diff* und *git help rev-parse*. diff --git a/de/pot/drawbacks.po b/de/pot/drawbacks.po index 6a121e67..7734fffa 100644 --- a/de/pot/drawbacks.po +++ b/de/pot/drawbacks.po @@ -1,24 +1,26 @@ # Git Magic - A guide to using Git # This file is distributed under the GNU GENERAL PUBLIC LICENSE Version 3. # Benn Lynn , 2007. -# Armin Stebich , 2010. +# Armin Stebich , 2010, 2011. +# msgid "" msgstr "" "Project-Id-Version: Git Magic deutsch\n" "Report-Msgid-Bugs-To: bennlynn@gmail.com\n" "POT-Creation-Date: 2010-10-30 08:21+0300\n" -"PO-Revision-Date: 2010-10-26 18:38+0300\n" +"PO-Revision-Date: 2011-07-10 15:16+0200\n" "Last-Translator: Armin Stebich \n" -"Language-Team: de \n" +"Language-Team: DE \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" +"Content-Transfer-Encoding: UTF-8\n" +"Plural-Forms: \n" #. type: Plain text #: ../en/drawbacks.txt:2 msgid "== Appendix A: Git Shortcomings ==" -msgstr "" +msgstr "== Anhang A: Git's Mängel ==" #. type: Plain text #: ../en/drawbacks.txt:4 @@ -28,11 +30,16 @@ msgid "" "project, and for the few remaining annoyances, one will just have to wait. " "Or better yet, pitch in and help!" msgstr "" +"Ein paar Git-Probleme habe ich bisher unter den Teppich gekehrt. Einige " +"lassen sich einfach mit Skripten und 'Hooks' lösen, andere erfordern eine " +"Reorganisation oder Neudefinition des gesamten Projekt und für die wenigen " +"verbleibenden Beeinträchtigungen kannst Du nur auf eine Lösung warten. Oder " +"noch besser, anpacken und mithelfen." #. type: Plain text #: ../en/drawbacks.txt:6 msgid "=== SHA1 Weaknesses ===" -msgstr "" +msgstr "=== SHA1 Schwäche ===" #. type: Plain text #: ../en/drawbacks.txt:11 @@ -42,6 +49,11 @@ msgid "" "Within years, perhaps even a typical PC will have enough computing power to " "silently corrupt a Git repository." msgstr "" +"Mit der Zeit entdecken Kryptographen immer mehr Schwächen an SHA1. Schon " +"heute wäre es technisch machbar für finanzkräftige Unternehmen Hash-" +"Kollisionen zu finden. In ein paar Jahren hat vielleicht schon ein ganz " +"normaler Heim-PC ausreichend Rechenleistung um ein Git 'Reopsitory' " +"unbemerkt zu korrumpieren." #. type: Plain text #: ../en/drawbacks.txt:14 @@ -49,16 +61,18 @@ msgid "" "Hopefully Git will migrate to a better hash function before further research " "destroys SHA1." msgstr "" +"Hoffentlich stellt Git auf eine bessere Hash Funktion um, bevor die " +"Forschung SHA1 komplett unnütz macht." #. type: Plain text #: ../en/drawbacks.txt:16 msgid "=== Microsoft Windows ===" -msgstr "" +msgstr "=== Microsoft Windows ===" #. type: Plain text #: ../en/drawbacks.txt:18 msgid "Git on Microsoft Windows can be cumbersome:" -msgstr "" +msgstr "Git unter Microsoft Windows kann frustrierend sein:" #. type: Plain text #: ../en/drawbacks.txt:20 @@ -66,6 +80,8 @@ msgid "" "- http://cygwin.com/[Cygwin], a Linux-like environment for Windows, contains " "http://cygwin.com/packages/git/[a Windows port of Git]." msgstr "" +"- http://cygwin.com/[Cygwin], eine Linux ähnliche Umgebung für Windows, " +"enthält http://cygwin.com/packages/git/[eine Windows Portierung von Git]." #. type: Plain text #: ../en/drawbacks.txt:22 @@ -73,11 +89,14 @@ msgid "" "- http://code.google.com/p/msysgit/[Git on MSys] is an alternative requiring " "minimal runtime support, though a few of the commands need some work." msgstr "" +"- http://code.google.com/p/msysgit/[Git unter MSys] ist eine Alternative, " +"die sehr wenig Laufzeitunterstützung erfordert, jedoch bedürfen einige " +"Kommandos noch einer Überarbeitung." #. type: Plain text #: ../en/drawbacks.txt:24 msgid "=== Unrelated Files ===" -msgstr "" +msgstr "=== Dateien ohne Bezug ===" #. type: Plain text #: ../en/drawbacks.txt:26 @@ -87,6 +106,11 @@ msgid "" "because single files are not tracked. Git tracks changes to the whole " "project, which is usually beneficial." msgstr "" +"Wenn Dein Projekt sehr groß ist und viele Dateien enthält, die in keinem " +"direkten Bezug stehen, trotzdem aber häufig geändert werden, kann Git " +"nachteiliger sein als andere Systeme, weil es keine einzelnen Dateien " +"überwacht. Git überwacht immer das ganze Projekt, was normalerweise schon " +"von Vorteil ist." #. type: Plain text #: ../en/drawbacks.txt:28 @@ -95,11 +119,15 @@ msgid "" "related files. Use *git submodule* if you still want to keep everything in a " "single repository." msgstr "" +"Eine Lösung ist es, Dein Projekt in kleinere Stücke auszuteilen, von denen " +"jedes nur die in Beziehung stehenden Dateien enthält. Benutze *git " +"submodule* wenn Du trotzdem alles in einem einzigen 'Repository' halten " +"willst." #. type: Plain text #: ../en/drawbacks.txt:30 msgid "=== Who's Editing What? ===" -msgstr "" +msgstr "=== Wer macht was? ===" #. type: Plain text #: ../en/drawbacks.txt:32 @@ -108,11 +136,17 @@ msgid "" "before editing. While this is especially annoying when this involves talking " "to a central server, it does have two benefits:" msgstr "" +"Einige Versionsverwaltungssysteme zwingen Dich explizit eine Datei auf " +"irgendeine Weise für die Bearbeitung zu kennzeichnen. Auch wenn es extrem " +"Lästig, wenn es die Kommunikation mit einem zentralen Server erfordert, so " +"hat es doch zwei Vorteile:" #. type: Bullet: ' 1. ' #: ../en/drawbacks.txt:34 msgid "Diffs are quick because only the marked files need be examined." msgstr "" +"Unterschiede sind schnell gefunden, weil nur die markierten Dateien " +"untersucht werden müssen." #. type: Bullet: ' 2. ' #: ../en/drawbacks.txt:36 @@ -120,6 +154,8 @@ msgid "" "One can discover who else is working on the file by asking the central " "server who has marked it for editing." msgstr "" +"Jeder kann herausfinden wer sonst gerade an einer Datei arbeitet, indem er " +"beim zentralen Server anfragt, wer die Datei zum Bearbeiten markiert hat." #. type: Plain text #: ../en/drawbacks.txt:38 @@ -128,11 +164,14 @@ msgid "" "cooperation from the programmer, who should execute particular scripts when " "editing a file." msgstr "" +"Mit geeigneten Skripten kannst Du das auch mit Git hinkriegen. Das erfordert " +"aber die Mitarbeit der Programmierer, denn sie müssen die Skripte auch " +"aufrufen, wenn sie eine Datei bearbeiten." #. type: Plain text #: ../en/drawbacks.txt:40 msgid "=== File History ===" -msgstr "" +msgstr "=== Dateihistorie ===" #. type: Plain text #: ../en/drawbacks.txt:42 @@ -141,6 +180,9 @@ msgid "" "single file requires more work than in version control systems that track " "individual files." msgstr "" +"Da Git die Änderungen über das gesamte Projekt aufzeichnet, erfordert die " +"Rekonstruktion des Verlaufs einer einzelnen Datei mehr Aufwand als in " +"Versionsverwaltungssystemen die einzelne Dateien überwachen." #. type: Plain text #: ../en/drawbacks.txt:44 @@ -150,11 +192,15 @@ msgid "" "a`, and project-wide deltas compress better than collections of file-based " "deltas." msgstr "" +"Die Nachteile sind üblicherweise gering und werden gern in Kauf genommen, da " +"andere Operationen dafür unglaublich effizient sind. Zum Beispiel ist `git " +"checkout` schneller als `cp -a` und projektweite Unterschiede sind besser zu " +"komprimieren als eine Sammlung von Änderungen auf Dateibasis." #. type: Plain text #: ../en/drawbacks.txt:46 msgid "=== Initial Clone ===" -msgstr "" +msgstr "=== Der erster Klon ===" #. type: Plain text #: ../en/drawbacks.txt:48 @@ -162,6 +208,8 @@ msgid "" "Creating a clone is more expensive than checking out code in other version " "control systems when there is a lengthy history." msgstr "" +"Einen Klon zu erstellen ist aufwendiger als in anderen " +"Versionsverwaltungssystemen, wenn ein längerer Verlauf existiert." #. type: Plain text #: ../en/drawbacks.txt:50 @@ -171,11 +219,16 @@ msgid "" "preferable to create a shallow clone with the `--depth` option. This is much " "faster, but the resulting clone has reduced functionality." msgstr "" +"Der initiale Aufwand lohnt sich aber auf längere Sicht, da die meisten " +"zukünftigen Operationen dann schnell und offline erfolgen. Trotzdem gibt es " +"Situationen, in denen es besser ist einen oberflächlichen Klon mit der `--" +"depth` Option zu erstellen. Das geht wesentlich schneller, aber der " +"resultierende Klon hat nur eingeschränkte Funktionalität." #. type: Plain text #: ../en/drawbacks.txt:52 msgid "=== Volatile Projects ===" -msgstr "" +msgstr "=== Unbeständige Projekte ===" #. type: Plain text #: ../en/drawbacks.txt:54 @@ -186,6 +239,12 @@ msgid "" "radically different in successive revisions, then on each commit, your " "history necessarily grows by the size of your whole project." msgstr "" +"Git wurde geschrieben um schnell zu sein, im Hinblick auf die Größe der " +"Änderungen. Leute machen kleine Änderungen von Version zu Version. Ein " +"einzeiliger Bugfix hier, eine neue Funktion da, verbesserte Kommentare und " +"so weiter. Aber wenn sich Deine Dateien zwischen aufeinander folgenden " +"Versionen gravierend ändern, dann wird zwangsläufig mit jedem 'Commit' Dein " +"Verlauf um die Größe des gesamten Projekts wachsen. " #. type: Plain text #: ../en/drawbacks.txt:56 @@ -193,6 +252,9 @@ msgid "" "There is nothing any version control system can do about this, but standard " "Git users will suffer more since normally histories are cloned." msgstr "" +"Es gibt nichts, was irgendein Versionsverwaltungssystem dagegen machen kann, " +"aber der Standard Git Anwender leidet mehr darunter, weil normalerweise der " +"ganze Verlauf geklont wird." #. type: Plain text #: ../en/drawbacks.txt:58 @@ -201,6 +263,9 @@ msgid "" "formats should be changed. Minor edits should only cause minor changes to at " "most a few files." msgstr "" +"Die Ursachen für die großen Unterschiede sollten ermittelt werden. " +"Vielleicht können Dateiformate geändert werden. Kleinere Bearbeitungen " +"sollten auch nur minimale Änderungen an nur wenigen Dateien bewirken." #. type: Plain text #: ../en/drawbacks.txt:60 @@ -209,6 +274,10 @@ msgid "" "sought, not a version control system. For example, version control may be " "ill-suited for managing photos periodically taken from a webcam." msgstr "" +"Vielleicht ist eher eine Datenbank oder Sicherungs-/Archivierungslösung " +"gesucht, nicht ein Versionsverwaltungssystem. Ein Versionsverwaltungssystem " +"zum Beispiel ist eine ungeeignete Lösung um Fotos zu verwalten, die " +"periodisch von einer Webcam gemacht werden." #. type: Plain text #: ../en/drawbacks.txt:62 @@ -220,6 +289,14 @@ msgid "" "as patches. This is probably fine as it's unclear why anyone would want the " "history of wildly unstable files." msgstr "" +"Wenn die Dateien sich tatsächlich konstant verändern und sie wirklich " +"versioniert werden müssen, ist es eine Möglichkeit Git in zentralisierter " +"Form zu verwenden. Jeder kann oberflächliche Klone erstellen, die nur wenig " +"oder gar nichts vom Verlauf des Projekts enthalten. Natürlich sind dann " +"viele Git Funktionen nicht verfügbar und Änderungen müssen als 'Patches' " +"übermittelt werden. Das funktioniert wahrscheinlich ganz gut, wenn auch " +"unklar ist, warum jemand die Versionsgeschichte von wahnsinnig instabilen " +"Dateien braucht." #. type: Plain text #: ../en/drawbacks.txt:64 @@ -229,6 +306,11 @@ msgid "" "and updates compress poorly, so firmware revisions would unnecessarily blow " "up the size of the repository." msgstr "" +"Ein anderes Beispiel ist ein Projekt, das von Firmware abhängig ist, welche " +"die Form einer großen Binärdatei annimmt. Der Verlauf der Firmware " +"interessiert den Anwender nicht und Änderungen lassen sich schlecht " +"komprimieren, so blähen Firmwarerevisionen die Größe des 'Repository' " +"unnötig auf." #. type: Plain text #: ../en/drawbacks.txt:66 @@ -238,11 +320,16 @@ msgid "" "distribute a script that uses Git to clone the code, and rsync or a Git " "shallow clone for the firmware." msgstr "" +"In diesem Fall sollte der Quellcode der Firmware in einem Git 'Repository' " +"gehalten werden und die Binärdatei außerhalb des Projekts. Um das Leben zu " +"vereinfachen, könnte jemand ein Skript erstellen, das Git benutzt um den " +"Quellcode zu klonen und 'rsync' oder einen oberflächlichen Klon für die " +"Firmware." #. type: Plain text #: ../en/drawbacks.txt:68 msgid "=== Global Counter ===" -msgstr "" +msgstr "=== Globaler Zähler ===" #. type: Plain text #: ../en/drawbacks.txt:70 @@ -251,6 +338,9 @@ msgid "" "increases when a new commit is accepted. Git refers to changes by their " "hash, which is better in many circumstances." msgstr "" +"Verschiedene Versionsverwaltungssysteme unterhalten einen Zähler, der mit " +"jedem 'Commit' erhöht wird. Git referenziert Änderungen anhand ihres SHA1-" +"Hash, was in vielen Fällen besser ist." #. type: Plain text #: ../en/drawbacks.txt:72 @@ -260,6 +350,10 @@ msgid "" "integer, perhaps in a tag, and associates it with the hash of the latest " "commit." msgstr "" +"Aber einige Leute sind diesen Zähler gewöhnt. Zum Glück ist es einfach, " +"Skripte zu schreiben, sodass mit jedem Update das zentrale Git 'Repository' " +"einen Zähler erhöht. Vielleicht in Form eines Tags, der mit dem SHA1-Hash " +"des letzten 'Commit' verknüpft ist." #. type: Plain text #: ../en/drawbacks.txt:74 @@ -268,11 +362,14 @@ msgid "" "useless, since only the central repository and its counter matters to " "everyone." msgstr "" +"Jeder Klon könnte einen solchen Zähler bereitstellen, aber der wäre " +"vermutlich nutzlos, denn nur der Zähler des zentralen 'Repository' ist für " +"alle relevant." #. type: Plain text #: ../en/drawbacks.txt:76 msgid "=== Empty Subdirectories ===" -msgstr "" +msgstr "=== Leere Unterverzeichnisse ===" #. type: Plain text #: ../en/drawbacks.txt:78 @@ -280,6 +377,8 @@ msgid "" "Empty subdirectories cannot be tracked. Create dummy files to work around " "this problem." msgstr "" +"Leere Unterverzeichnisse können nicht überwacht werden. Erstelle eine Dummy-" +"Datei um dieses Problem zu umgehen." #. type: Plain text #: ../en/drawbacks.txt:80 @@ -288,11 +387,15 @@ msgid "" "this drawback. With luck, once Git gains more traction, more users will " "clamour for this feature and it will be implemented." msgstr "" +"Die aktuelle Implementierung von Git, weniger sein Design, ist " +"verantwortlich für diesen Pferdefuß. Mit etwas Glück, wenn Git's Verbreitung " +"zunimmt und mehr Anwender nach dieser Funktion verlangen, wird sie " +"vielleicht implementiert." #. type: Plain text #: ../en/drawbacks.txt:82 msgid "=== Initial Commit ===" -msgstr "" +msgstr "=== Initialer 'Commit' ===" #. type: Plain text #: ../en/drawbacks.txt:84 @@ -303,6 +406,11 @@ msgid "" "Additionally, some corner cases must be handled specially, such as rebasing " "a branch with a different initial commit." msgstr "" +"Ein klischeehafter Computerwissenschaftler zählt von 0 statt von 1. Leider, " +"bezogen auf 'Commits', hält sich Git nicht an diese Konvention. Viele " +"Kommandos sind mürrisch vor dem intialen 'Commit'. Zusätzlich müssen " +"verschiedene Grenzfälle speziell behandelt werden, wie der 'Rebase' eines " +"'Branch' mit einem abweichenden initialen 'Commit'." #. type: Plain text #: ../en/drawbacks.txt:86 @@ -312,6 +420,11 @@ msgid "" "This special commit represents an empty tree, with no parent, at some time " "predating all Git repositories." msgstr "" +"Git würde davon provitieren, einen Null-'Commit' zu definieren: sofort nach " +"dem Erstellen eines 'Repository' wird der 'HEAD' auf eine Zeichenfolge von " +"20 Null-Bytes gesetzt. Dieser spezielle 'Commit' repräsentiert einen leeren " +"'Tree', ohne Eltern, irgendwann vielleicht der Vorfahr aller Git " +"'Repositories'." #. type: Plain text #: ../en/drawbacks.txt:88 @@ -320,11 +433,16 @@ msgid "" "have been made yet, instead of exiting with a fatal error. Similarly for " "other tools." msgstr "" +"Würde dann zum Beispiel *git log* ausgeführt, würde der Anwender darüber " +"informiert, daß noch keine 'Commits' gemacht wurden, anstelle mit einem " +"fatalen Fehler zu beenden. Stellvertretenden für andere Anweisungen." #. type: Plain text #: ../en/drawbacks.txt:90 msgid "Every initial commit is implicitly a descendant of this zero commit." msgstr "" +"Jeder initiale 'Commit' ist dann stillschweigend ein Abkömmling dieses " +"Null-'Commits'." #. type: Plain text #: ../en/drawbacks.txt:92 @@ -333,11 +451,14 @@ msgid "" "different initial commits are merged together, then rebasing the result " "requires substantial manual intervention." msgstr "" +"Leider gibt es noch ein paar Problemfälle. Wenn mehrere 'Branches' mit " +"unterschiedlichen initialen 'Commits' zusammengeführt und dann ein 'Rebase' " +"gemacht wird, ist ein manuelles Eingreifen erforderlich." #. type: Plain text #: ../en/drawbacks.txt:94 msgid "=== Interface Quirks ===" -msgstr "" +msgstr "=== Eigenarten der Anwendung ===" #. type: Plain text #: ../en/drawbacks.txt:97 @@ -346,3 +467,6 @@ msgid "" "depends on whether the command expects two endpoints or a range. See *git " "help diff* and *git help rev-parse*." msgstr "" +"Für die 'Commits' A und B, hängt die Bedeutung der Ausdrücke \"A..B\" und " +"\"A...B\" davon ab, ob eine Anweisung zwei Endpunkte erwartet oder einen " +"Bereich. Siehe *git help diff* und *git help rev-parse*."