Neu Diff tpl verstehen

macler

Gut bekanntes Mitglied
19. April 2012
628
15
Hallo zusammen,
ich muss Template Änderungen von einem Build zum anderen anpassen.
Im Prinzip verstehe ich das, was in der Diff-Datei steht, möchte aber gerne sicher gehen, ob ich richtig liege.

diff --git a/templates/Evo/account/order_details.tpl b/templates/Evo/account/order_details.tpl
index 78c066aa9..63a00c5a2 100755
--- a/templates/Evo/account/order_details.tpl
+++ b/templates/Evo/account/order_details.tpl
@@ -162,4 +162,7 @@
<th>{lang key="partialShippedPosition" section="order"}</th>
<th>{lang key="partialShippedCount" section="order"}</th>
+ <th>{lang key='productNo' section='global'}</th>
+ <th>{lang key='product' section='global'}</th>
+ <th>{lang key="order" section="global"}</th>

Erste Zeile gibt an wie die zu ändernde Datei heißt und wo sie steht.
2. Zeile verstehe ich nicht.
3. Zeile was gelöscht wird
4. Zeile was hinzu kommt
5. Zeile ist die Zeilennummer, die Nummer hinterm Komma verstehe ich nicht, sowei den weiteren Eintrag.
6. Zeile und folgende ist der Code der gelöscht oder ergänzt werden muss.
Ich mache die Änderungen mit Notepad++, suche die Stellen in der zu ändernden Datei und lösche oder ergänze. Dann speichern und fertig.
Ist das der richtige Weg oder gibt es einen sichereren und schnelleren Weg, ohne dass ich eine Entwicklungsumgebung brauche?

Schon mal vielen Dank im Voraus.
 

luzat

Aktives Mitglied
10. Juli 2014
9
2
Die 1. Zeile ist im Normalfall das Kommando, welches dieses Diff erzeugt hat. Die 2. Zeile sind Metadaten des Versionierungssystems (grob alter und neuer Hash der Datei und Berechtigungen). Im Endeffekt kann man das ignorieren.

Die @@-Zeile heißt im Endeffekt "aus 4 Zeilen ab Zeile 162 werden 7 Zeilen ab Zeile 162". Die ersten beiden <th>-Zeilen sind Kontext um die Stelle sicher identifizieren zu können und die sollten bereits existieren. Die Zeilen mit + oder - werden hinzugefügt respektive entfernt.

Auf der Kommandozeile mit installiertem patch-Tool (vmtl. meist unter Linux, evtl. auch unter macOS, installiert) kann man so etwas relativ einfach anwenden (automatisch ausführen lassen), etwa in der Art: patch -p1 < foo.diff (das -p1 entfernt die 1. Komponente aus dem Pfad, also a/ bzw. b/ in dem Fall).

Falls der Kontext nicht so oder in der Nähe gefunden wird, kann es zu Fehlermeldungen kommen, die man evtl. manuell beheben muss. Das passiert, wenn die Dateien zwischenzeitlich abweichend vom Patch geändert wurden.

patch/diff-Dateien kann man vermutlich auch noch relativ bequem mit TortoiseMerge unter Windows mit grafischer Unterstützung anwenden. Wie genau man es macht, hängt von den eigenen Kenntnissen und Anforderungen ab. Komplett manuell machen das denke ich wenige, wenn es um mehr als einzelne Zeilen geht.
 

Xantiva

Sehr aktives Mitglied
28. August 2016
1.787
313
Düsseldorf
Sich durch die Diff-Dateien zu hangeln ist eins, alternativ kannst Du beide Versionen auf der Festplatte ablegen und Dir dann die Unterschiede mit einem Programm wie WinMerge anzeigen lassen. Wenn Du parallel noch den Vergleich mit der neuen, originalen Version und Deinem Template aufmachst, kannst Du auf der einen Seite die Änderungen im originalen Template analysieren und im andern per Klick zeilen- oder blockweise übernehmen.

Und sich mal auf eine Entwicklungsumgebung einzulassen tut nicht weh ;) Nach einer gewissen Einarbeitungszeit wirst Du sie nicht mehr missen wollen ;)
 
Ähnliche Themen

Ähnliche Themen