• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

patch(1) legt keine neuen Ordner an

Kamikaze

Warrior of Sunlight
Mitarbeiter
Themenstarter #1
Ich versuche gerade mit patch(1) einen Patch einzuspielen, der ein paar neue Unterordner erzeugt. Das geht aber leider nicht, die Dateien werden direkt im aktuellen Ordner angelegt. Neue Dateien in existierenden Ordnern sind kein Problem.

Ist das ein bekanntes Problem? Gibt es dafür ein Flag, das mir beim Manpage Studium nicht aufgefallen ist?
 
J

joneum

Guest
#4
also normalerweiße wird ein patch mittels "patch -p0 < foo" eingespielt. Allerdings kommt es da auch auf den Patch an. Wurde er mit git erstellt? Hier wären weitere Infos bzgl des Patches selber hilfreich.
Gerade bei git patches bin ich am verzweifeln. Da hilft mir dann ein "pkg install patch ; gpatch < foo". Natürlich kommt es auch darauf an auf welcher ebene du gerade bist in der Struktur.
 

Kamikaze

Warrior of Sunlight
Mitarbeiter
Themenstarter #5
Ich bin schon im richtigen Ordner, neue Dateien werden auch im richtigen Ordner angelegt. Nur wenn Sie in neuen Verzeichnissen liegen, werden die nicht angelegt und die neuen Dateien landen in ./.

`git apply` macht das übrigens so wie ich mir das denke.

Der Patch wurde übrigens mit `svn diff` angelegt.
 
#7
Wie hilft mir die denn weiter? Ich will doch dass die Ordner nicht ignoriert werden.
Und das muss man ggfs. mit -p0 auch sagen.. (edit: gerade bei svn diff)
Code:
             Not specifying -p at all just gives you blurfl.c, unless all of
             the directories in the leading path (u/howard/src/blurfl) exist
             and that path is relative, in which case you get the entire
             pathname unmodified.
Zeig doch am besten den diff header, in welchem Verzeichnis Du beim Aufruf bist und den Aufruf selber.