Über den Bugtracker bugs.typo3.org oder über Foren werden oft Diff-Dateien bereitgestellt, die Verbesserungen in ausgewählten Dateien beinhalten. Diese Dateien dienen in erster Linie dem Informationsaustausch unter Entwicklern, teilweise ist aber auch die "Installation" durch Administratoren sinnvoll, um eine neue Version des Cores oder betroffener Erweiterungen nicht abwarten zu müssen.
"diff" und "patch" sind Befehle, die ursprünglich aus der Unix-Umgebung kommen, die es aber mittlerweile auch für Windows gibt.
"diff" vergleicht zwei Dateien oder die Dateien zweier Verzeichnisse zeilenweise und erstellt eine neue Datei wo Differenzen markiert sind. Enthält die neuere Datei zusätzliche Zeilen, werden diese in die neue "Diff"-Datei aufgenommen und mit einem "+" markiert, fehlende Zeilen entsprechend mit einem "-". Dadurch lassen sich Unterschiede in komprimierter Form festhalten.
Beim ändern einer Datei ist es also wichtig, daß die ursprüngliche Version unverändert bleibt und lediglich unter einem neuen Namen abgespeichert wird, z.B. *.old statt *.php - besser währe natürlich auch die Versionsnummer oder das Datum im Dateinamen, damit man verschiedene Versionen auseinanderhalten kann.
Es gibt verschiedene Formate für die Diff-Ausgabe. Für TYPO3 wird immer die Variante "unified diff" verwendet.
Die Differenz der Dateien zweier Verzeichnisse kann mit folgendem Befehl in der Datei "bug_1234.diff" ausgegeben werden:
"patch" liest eine "Diff"-Datei ein und überträgt Änderungen auf eine anzugebende Datei, bzw. die referenzierte Datei. Somit lassen sich Änderungen die auf einem System (PC oder Server) durchgeführt wurden schnell und zuverlässig auf einem anderen System ebenfalls ausführen.
Anwendung (im Bash-, Terminal- oder Konsolenfenster, unter Windows im cmd-Fenster):
Der Parameter --dry-run testet die Änderungen, ohne Änderungen an Dateien vorzunehmen. Um die Änderungen durchzuführen verwenden Sie den gleichen Befehl ohne diesen Parameter.
Weitere Quellen zu diesem Thema: