Allgemein

Verwendung von vimdiff als git mergetool

Beim ersten Merge-Konflikt schlägt git zwar i.d.R. ein Mergetool vor, mit dem folgenden Befehl kann vimdiff aber bereits vorab konfiguriert werden:

git config global merge.tool vimdiff

Der Aufruf des Mergetools nach einem Merge-Konflikt (z.B.: „CONFLICT (content): Merge conflict in test.txt“) erfolgt mit:

git mergetool

Daraufhin öffnet sich vimdiff mit mehreren Fenstern (eigentlich: „Buffer“ in der Split-Ansicht), die folgende Bezeichnungen tragen:

  • LOCAL“ (kurz: „LO“): Aktueller Branch/Zweig.
  • BASE“ (kurz: „BA“): Gemeinsamer Vorgänger (Zustand vor LOCAL- bzw. REMOTE-Änderungen).
  • REMOTE“ (kurz: „RE“): Branch/Zweig der mittels „git merge“ mit LOCAL hätte zusammengefügt werden sollen.
  • MERGED“ (bzw. keine Bezeichnung, kurz: „ME“): Gewünschtes Merge-Ergebnis.

Zwischen den Fenstern kann mit „Strg + w“ bzw. „Ctrl + w“ navigiert werden, das ist grundsätzlich nicht erforderlich, da sämtliche Arbeiten in „MERGED“ ausgeführt werden können/sollen.
Die häufigsten erforderlichen Befehle sind (jeweils ohne Anführungszeichen auszuführen):

  • „]c“: Nächster Unterschied.
  • „[c“: Vorheriger Unterschied.
  • „zo“: Text einblenden.
  • „zc“: Text ausblenden.
  • „:diffupdate“: Dateien erneut auf Unterschiede überprüfen.
  • :diffget RE“ (statt „RE“ kann z.B. auch „LO“ angegeben werden): Änderung von „REMOTE“ übernehmen.

Nachdem alle Unstimmigkeiten beseitigt worden sind, können wie gewohnt mit „:wqa“ alle Fenster gespeichert und geschlossen und mit „git commit“ fortgefahren werden.

Git-Problem „‚git status –porcelain‘ failed in submodule“ beheben

$ git status
error: cannot fork() for status: Cannot allocate memory
fatal: Could not run 'git status --porcelain' in submodule typo3_src
fatal: 'git status --porcelain' failed in submodule typo3_src

Die oben genannten Fehlermeldungen sind auf ein kaputtes .git-Verzeichnis/Repository im genannten Submodule zurückzuführen. Das Problem lässt sich wie folgt beheben:

rm -Rf typo3_src/
git checkout typo3_src
git submodule update

Piwik-Problem „Please check your server configuration. You may want to whitelist „*.html“ files from the „plugins“ directory.“ beheben

Nach der Aktualisierung von Piwik von 2.2.x auf 2.3.0 erhält man für das Plugin „ZenMode“ den Fehler „Please check your server configuration. You may want to whitelist „*.html“ files from the „plugins“ directory.“. Das Problem ist, dass sämtliche Ordner des Plugins für den Webserver nicht lesbar sind und somit ein „Access denied“ die Folge davon ist. Eine Anpassung der Ordner-Rechte schafft Abhilfe – am einfachsten erledigt man dies via SSH ausgehend vom Root-Ordner von Piwik:

find plugins/ZenMode/ -type d -exec chmod 0755 {} \;

Alternativ ist natürlich auch eine Anpassung mittels FTP-Programm möglich, in diesem Fall muss man u.u. die Ordner-Struktur des Plugins händisch durchgehen.

Aktualisierung von Webseiten

Sobald ein Kunde Kenntnis davon erhält, dass beispielsweise für das bei ihm eingesetzte Content Management System (CMS) ein Update zur Verfügung steht, möchte dieser das installiert wissen. Meines Erachtens ist es nicht erforderlich jede Version zu installieren, da Updates neben Fehlerbehebungen auch neue Fehler beinhalten und somit mit einem gewissen Risiko verbunden sind. Ein Update/Upgrade empfehle ich nur aus folgenden Gründen:

  1. Für die eingesetzte Version gibt es keine Sicherheitsupdates mehr.
  2. Die eingesetzte Version weist eine Sicherheitslücke auf, die mit der aktuelleren Version behoben wird.
  3. Die eingesetzte Version enthält einen auftretenden Bug, der mit der aktuelleren Version behoben wird.
  4. Die neuere Version enthält Features, die in der eingesetzten Version nicht zur Verfügung stehen und benötigt werden.
  5. Sicherstellung einer einfachen Migration auf zukünftige Versionen.
 nach oben