{"id":1212,"date":"2009-07-14T09:49:18","date_gmt":"2009-07-14T08:49:18","guid":{"rendered":"http:\/\/blog.it4sport.de\/?p=1212"},"modified":"2009-07-14T09:49:18","modified_gmt":"2009-07-14T08:49:18","slug":"diff-patch-kurz-und-bundig","status":"publish","type":"post","link":"https:\/\/gmbd.de\/wordpress\/index.php\/2009\/07\/14\/diff-patch-kurz-und-bundig\/","title":{"rendered":"diff, patch &#8211; kurz und b\u00fcndig"},"content":{"rendered":"<p>\t\t\t\tdiff und patch setze ich nicht oft ein. Deswegen muss ich jedes mal in den manpages bl\u00e4ttern. Daher hier die kurze Notiz:<\/p>\n<ol>\n<li>Einen Patch anwenden:\n<pre lang=\"bash\">\npatch < bar.patch\n<\/pre>\n<p>Dabei muss aber der Name des zu patchende Files im Patch enthalten sein (unified format). Ist das nicht siehe 2.\n<\/li>\n<li>Einen Patch auf ein bestimmtes File anwenden:\n<pre lang=\"bash\">\npatch bar.conf < bar.patch\n<\/pre>\n<\/li>\n<li>Soll ein Patch auf ein gesamtes Verzeichnis angewandt werden ist der Aufruf \u00e4hnlich.\n<pre lang=\"bash\">\npatch -p1 < bar.patch\n<\/pre>\n<p>Achtung! Der \"p level\" beschreibt wieviele Verzeichnisnamen aus den jeweilgen Pfad entfernt werden m\u00fcssen. Nachdem man sich normalerweise im root Verzeichnis des Source Baums befindet nimmt man oft \"1\". Enth\u00e4lt der Patch aber ganze Pfade wie zum Beispiel: \/home\/gmueller\/projekte\/src\/net\/ftp.c und selbst befindet man sich in einem Arbeitsverzeichnis, das net\/ftp.c enth\u00e4lt ist der Patch Level \"5\". <\/p>\n<pre lang=\"bash\">\npatch -p5 < bar.patch\n<\/pre>\n<p>Kurz gesagt: Einfach die Slashes z\u00e4hlen, die vor den Verzeichnissen existieren, die im aktuellen Pfad auch vorhanden sind.\n<\/li>\n<li>Einen Patch wieder entfernen:\n<pre lang=\"bash\">\npatch -p5 -R < baz.patch\n<\/pre>\n<\/li>\n<li>Diff eines Files anlegen\n<pre lang=\"bash\">\ndiff -u original.conf neuesfile.conf > ein.patch\n<\/pre>\n<\/li>\n<li>Patch eines gesamten Verzeichnis\n<pre lang=\"bash\">\ndiff -rupN original\/ neu\/ > ein.patch\n<\/pre>\n<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>diff und patch setze ich nicht oft ein. Deswegen muss ich jedes mal in den manpages bl\u00e4ttern. Daher hier die kurze Notiz: Einen Patch anwenden: patch < bar.patch Dabei muss aber der Name des zu patchende Files im Patch enthalten sein (unified format). Ist das nicht siehe 2. Einen Patch auf ein bestimmtes File anwenden:\u2026 <span class=\"read-more\"><a href=\"https:\/\/gmbd.de\/wordpress\/index.php\/2009\/07\/14\/diff-patch-kurz-und-bundig\/\">Weiterlesen &raquo;<\/a><\/span><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[118,277],"_links":{"self":[{"href":"https:\/\/gmbd.de\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/1212"}],"collection":[{"href":"https:\/\/gmbd.de\/wordpress\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gmbd.de\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gmbd.de\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/gmbd.de\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=1212"}],"version-history":[{"count":0,"href":"https:\/\/gmbd.de\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/1212\/revisions"}],"wp:attachment":[{"href":"https:\/\/gmbd.de\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=1212"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gmbd.de\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=1212"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gmbd.de\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=1212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}