das wäre ja auch meine Wunschvorstellung. Die frage bleibt aber wie bekomme ich dann die Änderungsschnipsel wieder da zurück wo sie hingehören.
zu diff gehört patch.
Mit diff bekommt man die Änderungen an einer Datei:
Die Datei v1 enthalte:
Oma
Opa
Papa
Die Datei v2 enthalte:
Oma
Mama
Papa
Opa
Ich lege die Differenz-Datei an:
diff v1 v2 > v1_to_v2.patch
v1_to_v2.diff enthält jetzt (Hier werden ein paar Zeilenumbrüche zu viel dargestellt...)
2c2
< Opa
---
> Mama
3a4
> Opa
Ich stelle die zweite Version aus der ersten und dem Patch neu her:
patch -o v2.neu v1 v1_to_v2.patch
v2.neu enthält jetzt:
Oma
Mama
Papa
Opa
Das entspricht dem Original. Ich könnte also die Datei v2 löschen, weil ich diese Datei jederzeit wieder herstellen kann.
Das Javascript-Zeug macht das ebenso - nur eben mit dem Inhalt von Variablen.
Du musst halt den Vorgang so oft wie nötig wiederholen.