Wie ist eine patch Datei aufgebaut

  • Hallo,


    mit

    Code
    patch -p0 -i patchfile.patch

    spiele ich z.B. diesen Patch ein. Ich wollte diesen Patch nun für mich (zukünftig) etwas anpassen. Aber ich verstehe die "Syntax" nicht ganz.


    Hier mal ein Auszug:


    Die rot markierte Zeile verstehe ich nicht. Ich hab erst angenommen, dass diese Zeile die Position des ersten Zeichens beschreibt. Aber das passt nur so ungefär.


    Dann wird ein Muster des Code Schnipsels angegeben in dem mit + oder - Zeilen eingefügt bzw. entfernt werden.


    Eigentlich scheint mir das soweit klar. Lediglich diese rot markierte Zeile sagt mir nichts und ich weiß nicht, in wiefern ich die z.B. Ändern müsste, wenn ich weitere Zeilen entfernen oder einfügen will. Bzw. wenn ich an einer ganz anderen Stelle etwas ändern möchte.


    Kann mir da einer helfen oder Lesematerial nennen, wo diese patch-Syntaxt bzw. der Aufbau einer solchen patch Datei beschrieben wird?


    mfg

  • ist es dann nicht besser bei syscp direkt zu fragen, die sollten doch den aufbau kennen.

    Logic will take you from A to B. Imagination will take you everywhere.(A.Einstein)
    Nur wer sein Ziel kennt findet auch den Weg!

  • Na ja, diese Art zu patchen ist ja keine Syscp Spezifik, sondern ich habe das schon öffter in dieser Art gesehen; squirrelmail z.B. benutzt das auch. Daher hab ich das auch als allgemeine Frage angesehen und nur dieses syscp Beispiel verwendet, weil ichs nämlich genau dafür benutzen will.


    Bisher hab ichs wie gesagt einfach immer nur benutzt. Aber ich hatte schon mehrfach eigentlich lieber den patch entsprechend anpassen wollen, als erst zu patchen und dann manuell nachzubessern. Denn das nachbessern muss ich dann oftmals nach einem update erneut machen, wärend ich den patch einfach noch mal draufspielen muss, wenn sich die Datei entsprechend verändert hat. Natürlich kommt das auf die Art des Updates an, aber ich denke gerade bei syscp läuft ein Update so ab, dass die Dateien einfach nur ersetzt werden... jedenfalls wars bei mir neulich so ;)


    Also kurz: Ich kann zwar genauso gut bei syscp fragen, aber hier müsste es meiner Ansicht nach auch passen... ich werd also die gleiche Frage im syscp Forum stellen. (Nachteil: ich frag generell lieber in Deutsch als in englisch)


    mfg

  • und wenn ich das richtig sehe im editor:
    dann ist: 43,6 das ende der letzten zeile(vom patch-text). 43,7 der beginn der nächsten leer-zeile

    Logic will take you from A to B. Imagination will take you everywhere.(A.Einstein)
    Nur wer sein Ziel kennt findet auch den Weg!

  • Okay, vielen Dank. Demzufolge dienen wohl die Zeilen dazwischen (die nicht geändert werden) nur der Überprüfung: Falls diese Zeilen da nicht gefunden werden, weiß man dann, dass die zu patchende Datei so geändert wurde, dass der Patch evtl. angepaßt werden muss oder jedenfalls nicht mehr so passt... richtig?

  • Durch diese Kontext-Zeilen wird das Patchen unabhaengiger von den Zeilennummern. Wenn nicht exakt die selbe Dateiversion gepatcht werden soll, auf deren Grundlage der Patch erstellt wurde, kann so zuverlaessiger die neue Position gefunden werden.