{"id":198,"date":"2009-11-10T22:58:19","date_gmt":"2009-11-10T21:58:19","guid":{"rendered":"http:\/\/webpiraten.de\/?p=198"},"modified":"2009-12-10T09:46:34","modified_gmt":"2009-12-10T08:46:34","slug":"svn-befehle-fuer-zwischendurch","status":"publish","type":"post","link":"https:\/\/webpiraten.de\/index.php\/versionierung\/svn-befehle-fuer-zwischendurch\/","title":{"rendered":"SVN-Befehle f\u00fcr Zwischendurch"},"content":{"rendered":"<p>Ein paar kleine SVN-Befehle und One-liner f\u00fcr den Alltag:<\/p>\n<p>Alle Beitragenden eines Repositories anzeigen lassen (sortiert nach Anzahl der \u00c4nderungen):<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsvn log -q | awk '\/^r\/ {print $3}' | sort | uniq -c | sort -rn\r\n<\/pre>\n<p>Alle \u00c4nderungen zwischen der aktuellen Arbeitskopie und der Head-Version anzeigen lassen. Sollte im Normalfall auch anzeigen, wer den Build kaputt gespielt hat. ;)<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsvn log -r BASE:HEAD\r\n<\/pre>\n<p>History eines Zweiges ausgehend vom Verzweigungspunkt anzeigen lassen:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsvn log --stop-on-copy\r\n<\/pre>\n<p>Alle \u00c4nderungen innerhalb eines Zeitraums ausgeben lassen:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsvn di -r{2009-10-23}:{2009-11-28}\r\n<\/pre>\n<p>ALLE \u00c4nderungen der lokalen Arbeitskopie r\u00fcckg\u00e4ngig machen:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsvn revert -R .\r\n<\/pre>\n<p>SVN-Informationen als XML ausgeben lassen, um einfacher Infos f\u00fcr Analysen und Statistiken zu erhalten\/zu parsen:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsvn log --xml\r\n<\/pre>\n<p>Noch was f\u00fcr Leute, die keine Angst vor&#8217;m L\u00f6schen von Externals haben: Alle Dateien, die mit ? gekennzeichnet sind (bei SVN-Status) einfach mal l\u00f6schen:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsvn st | grep ^\\? | awk '{print $2}' | xargs rm\r\n<\/pre>\n<p>Und hier noch ein Befehl um alle neuen Dateien zum Repository hinzuzuf\u00fcgen<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsvn st|grep ^?|sed s\/?\/\/|xargs svn add $1\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Ein paar kleine SVN-Befehle und One-liner f\u00fcr den Alltag: Alle Beitragenden eines Repositories anzeigen lassen (sortiert nach Anzahl der \u00c4nderungen): svn log -q | awk &#8218;\/^r\/ {print $3}&#8216; | sort | uniq -c | sort -rn Alle \u00c4nderungen zwischen der aktuellen Arbeitskopie und der Head-Version anzeigen lassen. Sollte im Normalfall auch anzeigen, wer den Build [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[75,76,43,41,79],"tags":[67,120,639],"class_list":["post-198","post","type-post","status-publish","format-standard","hentry","category-linux","category-shell","category-svn","category-versionierung","category-xml","tag-hilfe","tag-one-liner","tag-svn"],"_links":{"self":[{"href":"https:\/\/webpiraten.de\/index.php\/wp-json\/wp\/v2\/posts\/198","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webpiraten.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webpiraten.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webpiraten.de\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/webpiraten.de\/index.php\/wp-json\/wp\/v2\/comments?post=198"}],"version-history":[{"count":7,"href":"https:\/\/webpiraten.de\/index.php\/wp-json\/wp\/v2\/posts\/198\/revisions"}],"predecessor-version":[{"id":224,"href":"https:\/\/webpiraten.de\/index.php\/wp-json\/wp\/v2\/posts\/198\/revisions\/224"}],"wp:attachment":[{"href":"https:\/\/webpiraten.de\/index.php\/wp-json\/wp\/v2\/media?parent=198"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webpiraten.de\/index.php\/wp-json\/wp\/v2\/categories?post=198"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webpiraten.de\/index.php\/wp-json\/wp\/v2\/tags?post=198"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}