Wie erstelle ich einen Patch für eine neue Datei?

Lesezeit: 2 Minuten

Benutzer-Avatar
RajSanpui

Ich weiß, dass es einfach ist, einen Patch für eine vorhandene Datei zu erstellen:

diff -aru oldFile newFile 2>&1 | tee myPatch.patch

Aber was tun, wenn ich einen Patch für eine völlig neue Datei erstellen möchte? Angenommen, meine Datei befindet sich in einem Ordner namens TestDir. Vorhin TestDir hatte keine Datei namens entirelyNewfile.caber jetzt hat es das gleiche.

So erstellen Sie einen Patch für entirelyNewfile.c? Die Idee ist, dass der Patch richtig auf die Spezifikationen angewendet wird und den RPM-Build generiert. Mit BUILD dir mit dieser neuen Datei.

Nur um hinzuzufügen: Wenn ich versuche, einen Unterschied zwischen den beiden Verzeichnissen zu machen, von denen eines die neue Datei enthält und das andere die gleiche fehlt, um den Patch zu erstellen, wird ein Fehler generiert, der besagt, dass die Datei nur in einem Ordner vorhanden ist

Hinzufügen -N zum diff Argumente.

  • Danke vielmals. Aber wie bearbeitet man diese? — Olddir/testUsecase2.cc 1970-01-01 05:30:00.000000000 +0530 +++ NewDir/testUsecase2.cc 2011-04-11 20:39:56.000000000 +0530

    – RajSanpui

    11. April 2011 um 15:39 Uhr


  • Wenn diese nicht richtig formatiert sind, hinterlassen sie oft Ablehnungsdateien während RPM-Builds.

    – RajSanpui

    11. April 2011 um 15:40 Uhr

diff /dev/null <newfile>

Erstellt einen Patch für Ihre neue Datei.

Der einfachste mir bekannte Weg, dies zu tun, besteht darin, alle Dateien unter Versionskontrolle zu stellen (falls dies nicht bereits der Fall ist). Ich bevorzuge Git, aber etwas Ähnliches könnte in jedem anderen Versionskontrollsystem gemacht werden:

git init
git add .
git commit -m "initial state"
<do your edits here>
git add .
git commit -m "new state"
git diff HEAD^1

  • Aber wie werden Sie von dort aus RPM-Builds erstellen? RPM-Build erfordert das Hinzufügen einzelner Patches zur SPEC-Datei.

    – RajSanpui

    11. April 2011 um 15:50 Uhr

  • Der Schritt „git diff“ erzeugt einen Patch, der in einer Datei gespeichert und dann als Quelle zu Ihrer RPM-.spec-Datei hinzugefügt werden kann.

    – jcollie

    11. April 2011 um 16:15 Uhr

1055910cookie-checkWie erstelle ich einen Patch für eine neue Datei?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy