Hallo, ich habe ein Softwareprojekt aus vielen Dateien. Zum Beispiel ein PHP Webshop. Dann führe ich Anpassungen durch und ändere x Dateien. Am Ende möchte ich gerne das Orginalprojekt mit meinem modifizierten mit einem DIFF Tool vergleichen und daraus ein ZIP erzeugen, dass nur die modifizierten Dateien enthält. Ein PATCH sozusagen. Ich suche also ein Tool, dass so ein Patch erzeugen kann, oder zumindest eine Liste mit den unterschiedlichen Dateien. (Patch ZIP kann ich dann daraus selbst erstellen) Plattform: Linux oder OS X larx
update: SourceGear DiffMerge kann zumindest ne Liste erzeugen.
Wenn es ein patch sein soll (also nur die Änderungen), warum nicht diff? diff -Naur original_folder modified_folder > patch.txt
und die patch.txt lässt sich sogar mit patch < patch.txt wieder einspielen
Nein. Diff geht wohl nicht. Es wird das eine Datei erzeugt, die die Inhalte in den untersuchten Dateien ausgibt. Ich will aber nur wissen, welche Datei modifiziert wurde. Hintergrund: Ich will ein Zip, das die modifizierten Dateien beinhaltet, die man dann per FTP auf den Webserver spielen kann. DiffMerge geht aber ganz gut. Es kommt ne kurze Liste raus. Ich hab jetzt ein kleines Programm geschrieben, das diese Liste einliest und daraus einen neuen Ordner mit genau diesen Dateien erstellt.
Ich habe auf meinem Server die Versionsverwaltung git und die Webseiten als Git projekt. In meinem Git repository ist ein Hook script dass automatisch nach dem Hochpushen der Änderungen diese auf der Webseite wieder Pullt. Dies ermöglicht es mir, änderungen mit git status und git diff anzuschauen, mit git add, git commit und git push auf dem Server zu übernehmen und im notfall mit git checkout auf einen beliebigen vorherigen commit zurückzuwechseln. Dadurch wird die Patcherei und Zipperei für mich überflüssig (wobei ich patchs bequem mit git diff erstellen könnte)
larx schrieb: > Nein. Diff geht wohl nicht. diff -Naur Alt Neu|grep "+++"|awk '{print $2}' und nun noch'n zip davor: zip Neu.zip $(diff -Naur Alt Neu|grep "+++"|awk '{print $2}')
:
Bearbeitet durch User
>diff -Naur Alt Neu|grep "+++"|awk '{print $2}
sieht schon besser aus. Jetzt habe ich eine Liste mit Dateien.
Allerdings mit allen Dateien des Projektes.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.