<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>beer planet &#187; SVN</title> <atom:link href="http://beerpla.net/tag/svn/feed/" rel="self" type="application/rss+xml" /><link>http://beerpla.net</link> <description>where things have nothing to do with beer - tutorials, tips, how-tos, thoughts, hacks, and other techy nonsense</description> <lastBuildDate>Thu, 17 May 2012 22:50:53 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <atom:link rel='hub' href='http://beerpla.net/?pushpress=hub'/> <item><title>How To View A Specific SVN Revision In Your Browser</title><link>http://beerpla.net/2010/02/20/how-to-view-a-specific-svn-revision-in-your-browser/</link> <comments>http://beerpla.net/2010/02/20/how-to-view-a-specific-svn-revision-in-your-browser/#comments</comments> <pubDate>Sun, 21 Feb 2010 06:04:17 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[SVN]]></category> <category><![CDATA[Tips]]></category> <category><![CDATA[bc]]></category> <category><![CDATA[browser]]></category> <category><![CDATA[chrome]]></category> <category><![CDATA[directory]]></category> <category><![CDATA[file]]></category> <category><![CDATA[Firefox]]></category> <category><![CDATA[internet explorer]]></category> <category><![CDATA[revision]]></category> <category><![CDATA[specific]]></category> <category><![CDATA[subversion]]></category> <category><![CDATA[trunk]]></category> <category><![CDATA[update]]></category> <category><![CDATA[view]]></category> <category><![CDATA[Wordpress]]></category> <guid
isPermaLink="false">http://beerpla.net/2010/02/20/how-to-view-a-specific-svn-revision-in-your-browser/</guid> <description><![CDATA[<p><img
style="margin: 0px 10px 10px 0px; display: inline" title="image" alt="image" align="left" src="http://beerpla.net/wp-content/uploads/2010/04/image.png" width="150" height="150" /> This is a quick recipe that I found pretty interesting and relatively unknown.</p><p>Everyone who uses SVN knows that most repositories are set up to allow viewing of their contents via a web browser. For example, here&#039;s the trunk of WP Plugins SVN: <a
title="http://plugins.svn.wordpress.org/" href="http://plugins.svn.wordpress.org/" rel="nofollow">http://plugins.svn.wordpress.org/</a> and here is the current trunk version of a specific file, let&#039;s say <a
title="http://plugins.svn.wordpress.org/stats/trunk/readme.txt" href="http://plugins.svn.wordpress.org/stats/trunk/readme.txt" rel="nofollow">http://plugins.svn.wordpress.org/stats/trunk/readme.txt</a>.</p><h2>The Problem</h2><p>However, what if you wanted to view a <strong><em>specific revision</em></strong> of a file or directory <strong><em>in your browser</em></strong>?</p><p>Let&#039;s say I wanted revision 100,000 of <a
href="http://plugins.svn.wordpress.org/stats/trunk/readme.txt" rel="nofollow">http://plugins.svn.wordpress.org/stats/trunk/readme.txt</a></p><p>Normally, on a command line, you&#039;d do something like</p><div
class="wp_syntax"><div
class="code"><pre>svn co http://plugins.svn.wordpress.org/stats/trunk/readme.txt stats
cd stats;
svn up -r100000 readme.txt</pre></div></div><p>or simply</p><div
class="wp_syntax"><div
class="code"><pre>svn export -r100000 http://plugins.svn.wordpress.org/stats/trunk/readme.txt</pre></div></div><p>However, how would you do this in ...<div
class=clear></div> <a
href="http://beerpla.net/2010/02/20/how-to-view-a-specific-svn-revision-in-your-browser/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<p><img
style="margin: 0px 10px 10px 0px; display: inline" title="image" alt="image" align="left" src="http://beerpla.net/wp-content/uploads/2010/04/image.png" width="150" height="150" /> This is a quick recipe that I found pretty interesting and relatively unknown.</p><p>Everyone who uses SVN knows that most repositories are set up to allow viewing of their contents via a web browser. For example, here&#039;s the trunk of WP Plugins SVN: <a
title="http://plugins.svn.wordpress.org/" href="http://plugins.svn.wordpress.org/" rel="nofollow">http://plugins.svn.wordpress.org/</a> and here is the current trunk version of a specific file, let&#039;s say <a
title="http://plugins.svn.wordpress.org/stats/trunk/readme.txt" href="http://plugins.svn.wordpress.org/stats/trunk/readme.txt" rel="nofollow">http://plugins.svn.wordpress.org/stats/trunk/readme.txt</a>.</p><h2>The Problem</h2><p>However, what if you wanted to view a <strong><em>specific revision</em></strong> of a file or directory <strong><em>in your browser</em></strong>?</p><p>Let&#039;s say I wanted revision 100,000 of <a
href="http://plugins.svn.wordpress.org/stats/trunk/readme.txt" rel="nofollow">http://plugins.svn.wordpress.org/stats/trunk/readme.txt</a></p><p>Normally, on a command line, you&#039;d do something like</p><div
class="wp_syntax"><div
class="code"><pre>svn co http://plugins.svn.wordpress.org/stats/trunk/readme.txt stats
cd stats;
svn up -r100000 readme.txt</pre></div></div><p>or simply</p><div
class="wp_syntax"><div
class="code"><pre>svn export -r100000 http://plugins.svn.wordpress.org/stats/trunk/readme.txt</pre></div></div><p>However, how would you do this in your browser? Trying something like ?r=100000 or ?revision=100000 parameters doesn&#039;t work.</p><h2>The Solution</h2><p>Here is the syntax to get a specific revision of a file or directory:</p><ol><li>Take the root of the repository (in our case, <a
href="http://plugins.svn.wordpress.org" rel="nofollow">http://plugins.svn.wordpress.org</a>)</li><li>Append this string <strong><em>!svn/bc/REVISION_NUMBER</em></strong> right after the repository root and before the directory or file path.</li></ol><p>Going back to our example:</p><ul><li><a
href="http://plugins.svn.wordpress.org/!svn/bc/100000/stats/" rel="nofollow">http://plugins.svn.wordpress.org/!svn/bc/100000/stats/</a><p>shows the stats directory exactly as it was at revision 100,000 and</p></li><li><a
title="http://plugins.svn.wordpress.org/!svn/bc/100000/stats/trunk/readme.txt" href="http://plugins.svn.wordpress.org/!svn/bc/100000/stats/trunk/readme.txt" rel="nofollow">http://plugins.svn.wordpress.org/!svn/bc/100000/stats/trunk/readme.txt</a><p>shows our readme.txt at 100,000.</p></li></ul><p>And that&#039;s how you do it, folks. Happy revisioning!</p><p><strong>Update</strong>: this post is now sponsored by <a
href="http://www.wirefly.com/learn/">Wirefly Learn</a> where you can find cell phone news and reviews, as well as comparisons and videos.</p><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+View+A+Specific+SVN+Revision+In+Your+Browser&amp;link=http://beerpla.net/2010/02/20/how-to-view-a-specific-svn-revision-in-your-browser/&amp;notes=%20This%20is%20a%20quick%20recipe%20that%20I%20found%20pretty%20interesting%20and%20relatively%20unknown.%20%20Everyone%20who%20uses%20SVN%20knows%20that%20most%20repositories%20are%20set%20up%20to%20allow%20viewing%20of%20their%20contents%20via%20a%20web%20browser.%20For%20example%2C%20here%27s%20the%20trunk%20of%20WP%20Plugins%20SVN%3A%20http%3A%2F%2Fplugins.svn.wordpress.org%2F%20and%20here%20is%20the%20curr&amp;short_link=http://bit.ly/cFiWmr&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+View+A+Specific+SVN+Revision+In+Your+Browser&amp;link=http://beerpla.net/2010/02/20/how-to-view-a-specific-svn-revision-in-your-browser/&amp;notes=%20This%20is%20a%20quick%20recipe%20that%20I%20found%20pretty%20interesting%20and%20relatively%20unknown.%20%20Everyone%20who%20uses%20SVN%20knows%20that%20most%20repositories%20are%20set%20up%20to%20allow%20viewing%20of%20their%20contents%20via%20a%20web%20browser.%20For%20example%2C%20here%27s%20the%20trunk%20of%20WP%20Plugins%20SVN%3A%20http%3A%2F%2Fplugins.svn.wordpress.org%2F%20and%20here%20is%20the%20curr&amp;short_link=http://bit.ly/cFiWmr&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+View+A+Specific+SVN+Revision+In+Your+Browser&amp;link=http://beerpla.net/2010/02/20/how-to-view-a-specific-svn-revision-in-your-browser/&amp;notes=%20This%20is%20a%20quick%20recipe%20that%20I%20found%20pretty%20interesting%20and%20relatively%20unknown.%20%20Everyone%20who%20uses%20SVN%20knows%20that%20most%20repositories%20are%20set%20up%20to%20allow%20viewing%20of%20their%20contents%20via%20a%20web%20browser.%20For%20example%2C%20here%27s%20the%20trunk%20of%20WP%20Plugins%20SVN%3A%20http%3A%2F%2Fplugins.svn.wordpress.org%2F%20and%20here%20is%20the%20curr&amp;short_link=http://bit.ly/cFiWmr&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+View+A+Specific+SVN+Revision+In+Your+Browser&amp;link=http://beerpla.net/2010/02/20/how-to-view-a-specific-svn-revision-in-your-browser/&amp;notes=%20This%20is%20a%20quick%20recipe%20that%20I%20found%20pretty%20interesting%20and%20relatively%20unknown.%20%20Everyone%20who%20uses%20SVN%20knows%20that%20most%20repositories%20are%20set%20up%20to%20allow%20viewing%20of%20their%20contents%20via%20a%20web%20browser.%20For%20example%2C%20here%27s%20the%20trunk%20of%20WP%20Plugins%20SVN%3A%20http%3A%2F%2Fplugins.svn.wordpress.org%2F%20and%20here%20is%20the%20curr&amp;short_link=http://bit.ly/cFiWmr&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+View+A+Specific+SVN+Revision+In+Your+Browser&amp;link=http://beerpla.net/2010/02/20/how-to-view-a-specific-svn-revision-in-your-browser/&amp;notes=%20This%20is%20a%20quick%20recipe%20that%20I%20found%20pretty%20interesting%20and%20relatively%20unknown.%20%20Everyone%20who%20uses%20SVN%20knows%20that%20most%20repositories%20are%20set%20up%20to%20allow%20viewing%20of%20their%20contents%20via%20a%20web%20browser.%20For%20example%2C%20here%27s%20the%20trunk%20of%20WP%20Plugins%20SVN%3A%20http%3A%2F%2Fplugins.svn.wordpress.org%2F%20and%20here%20is%20the%20curr&amp;short_link=http://bit.ly/cFiWmr&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+View+A+Specific+SVN+Revision+In+Your+Browser&amp;link=http://beerpla.net/2010/02/20/how-to-view-a-specific-svn-revision-in-your-browser/&amp;notes=%20This%20is%20a%20quick%20recipe%20that%20I%20found%20pretty%20interesting%20and%20relatively%20unknown.%20%20Everyone%20who%20uses%20SVN%20knows%20that%20most%20repositories%20are%20set%20up%20to%20allow%20viewing%20of%20their%20contents%20via%20a%20web%20browser.%20For%20example%2C%20here%27s%20the%20trunk%20of%20WP%20Plugins%20SVN%3A%20http%3A%2F%2Fplugins.svn.wordpress.org%2F%20and%20here%20is%20the%20curr&amp;short_link=http://bit.ly/cFiWmr&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+View+A+Specific+SVN+Revision+In+Your+Browser&amp;link=http://beerpla.net/2010/02/20/how-to-view-a-specific-svn-revision-in-your-browser/&amp;notes=%20This%20is%20a%20quick%20recipe%20that%20I%20found%20pretty%20interesting%20and%20relatively%20unknown.%20%20Everyone%20who%20uses%20SVN%20knows%20that%20most%20repositories%20are%20set%20up%20to%20allow%20viewing%20of%20their%20contents%20via%20a%20web%20browser.%20For%20example%2C%20here%27s%20the%20trunk%20of%20WP%20Plugins%20SVN%3A%20http%3A%2F%2Fplugins.svn.wordpress.org%2F%20and%20here%20is%20the%20curr&amp;short_link=http://bit.ly/cFiWmr&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=How%20To%20View%20A%20Specific%20SVN%20Revision%20In%20Your%20Browser&amp;link=http://beerpla.net/2010/02/20/how-to-view-a-specific-svn-revision-in-your-browser/&amp;notes=%20This%20is%20a%20quick%20recipe%20that%20I%20found%20pretty%20interesting%20and%20relatively%20unknown.%20%20Everyone%20who%20uses%20SVN%20knows%20that%20most%20repositories%20are%20set%20up%20to%20allow%20viewing%20of%20their%20contents%20via%20a%20web%20browser.%20For%20example%2C%20here%27s%20the%20trunk%20of%20WP%20Plugins%20SVN%3A%20http%3A%2F%2Fplugins.svn.wordpress.org%2F%20and%20here%20is%20the%20curr&amp;short_link=http://bit.ly/cFiWmr&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2009/06/20/how-to-properly-set-svn-svnexternals-property-in-svn-command-line/" rel="bookmark" title="June 20, 2009">How To Properly Set SVN svn:externals Property In SVN Command Line</a></li><li><a
href="http://beerpla.net/2008/06/16/how-to-svn-update-all-your-wordpress-plugins-in-one-go/" rel="bookmark" title="June 16, 2008">How To SVN Update All Your WordPress Plugins In One Go</a></li><li><a
href="http://beerpla.net/2008/07/23/how-to-check-if-the-local-svn-revision-is-up-to-date/" rel="bookmark" title="July 23, 2008">How To Check If The Local SVN Revision Is Up-To-Date</a></li><li><a
href="http://beerpla.net/2006/07/15/converting-from-cvs-to-svn-developers-notes-and-why-svn-is-better/" rel="bookmark" title="July 15, 2006">Converting from CVS to SVN: Developer&#039;s Notes And Why SVN Is Better</a></li><li><a
href="http://beerpla.net/2008/03/29/beer-planet-upgraded-to-wordpress-25/" rel="bookmark" title="March 29, 2008">Beer Planet Upgraded To WordPress 2.5</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2010%2F02%2F20%2Fhow-to-view-a-specific-svn-revision-in-your-browser%2F&amp;title=How%20To%20View%20A%20Specific%20SVN%20Revision%20In%20Your%20Browser" id="wpa2a_2"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2010/02/20/how-to-view-a-specific-svn-revision-in-your-browser/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>How To Properly Set SVN svn:externals Property In SVN Command Line</title><link>http://beerpla.net/2009/06/20/how-to-properly-set-svn-svnexternals-property-in-svn-command-line/</link> <comments>http://beerpla.net/2009/06/20/how-to-properly-set-svn-svnexternals-property-in-svn-command-line/#comments</comments> <pubDate>Sun, 21 Jun 2009 02:01:26 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Linux]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[SVN]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[Tutorials]]></category> <category><![CDATA[Wordpress]]></category> <category><![CDATA[error]]></category> <category><![CDATA[external]]></category> <category><![CDATA[externals]]></category> <category><![CDATA[how]]></category> <category><![CDATA[propget]]></category> <category><![CDATA[propset]]></category> <category><![CDATA[set]]></category> <category><![CDATA[svn:externals]]></category> <guid
isPermaLink="false">http://beerpla.net/2009/06/20/how-to-properly-set-svn-svnexternals-property-in-svn-command-line/</guid> <description><![CDATA[<h2>Introduction</h2><p>Every time I have to deal with <a
href="http://svnbook.red-bean.com/en/1.0/ch07s03.html" rel="nofollow">svn:externals</a> in SVN, I forget the command line syntax. Every single damn time. Normally, I use SVN GUI clients, such as <a
href="http://www.smartsvn.com/" rel="nofollow">SmartSVN</a>, which make it very simple to add an svn:externals property. But for command line, it always takes looking at 25 different sites on google, which are all incredibly unhelpful for this question for some reason. Trying &#34;svn help propset&#34; on the command line was bloated and equally useless.</p><p>So this time I needed to write it down and make sure everyone who needed help with svn:externals would find exactly what they need here. I hope this page will soon come up on top of all the unhelpful results on ...<div
class=clear></div> <a
href="http://beerpla.net/2009/06/20/how-to-properly-set-svn-svnexternals-property-in-svn-command-line/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<h2>Introduction</h2><p>Every time I have to deal with <a
href="http://svnbook.red-bean.com/en/1.0/ch07s03.html" rel="nofollow">svn:externals</a> in SVN, I forget the command line syntax. Every single damn time. Normally, I use SVN GUI clients, such as <a
href="http://www.smartsvn.com/" rel="nofollow">SmartSVN</a>, which make it very simple to add an svn:externals property. But for command line, it always takes looking at 25 different sites on google, which are all incredibly unhelpful for this question for some reason. Trying &quot;svn help propset&quot; on the command line was bloated and equally useless.</p><p>So this time I needed to write it down and make sure everyone who needed help with svn:externals would find exactly what they need here. I hope this page will soon come up on top of all the unhelpful results on google for &quot;propset svn:externals&quot; and other related queries.</p><h2>The Problem</h2><p>I want to set a simple svn:externals property in one of my project&#039;s directories, lets say &#039;plugins&#039; (talking about WordPress here). The outcome would be a directory called &#039;akismet&#039; within &#039;plugins&#039; that points to a remote svn url.</p><p>Various combinations of trying to do it produced pathetic results, like</p><div
class="wp_syntax"><div
class="code"><pre>svn propset svn:externals akismet http://plugins.svn.wordpress.org/akismet/trunk
svn: Setting property on non-local target 'http://plugins.svn.wordpress.org/akismet/trunk' needs a base revision</pre></div></div><div
class="wp_syntax"><div
class="code"><pre>svn propset svn:externals . akismet http://plugins.svn.wordpress.org/akismet/trunk
svn: Error parsing svn:externals property on 'akismet': '.'</pre></div></div><div
class="wp_syntax"><div
class="code"><pre>svn propset svn:externals akismet http://plugins.svn.wordpress.org/akismet/trunk akismet
svn: Setting property on non-local target 'http://plugins.svn.wordpress.org/akismet/trunk' needs a base revision</pre></div></div><h2>The Solution</h2><p>Finally, thanks to <a
href="http://www.nabble.com/svn:externals-example-td16552909.html" rel="nofollow">this post</a>, I found the right command:</p><div
class="wp_syntax"><div
class="code"><pre>svn propset svn:externals 'akismet http://plugins.svn.wordpress.org/akismet/trunk' .
property 'svn:externals' set on '.'</pre></div></div><p>Note that dot at the end of the command and the quotes around the directory name and url.</p><p>Now commit via</p><div
class="wp_syntax"><div
class="code"><pre>svn commit</pre></div></div><p>and then</p><div
class="wp_syntax"><div
class="code"><pre>svn up
Fetching external item into 'akismet'
A    akismet/akismet.gif
A    akismet/akismet.php
A    akismet/readme.txt
Updated external to revision 127962.
&nbsp;
Updated to revision 16.</pre></div></div><p>There, was it that hard, forum gurus and blog fiends?</p><p><strong>Edit</strong>: in order to set multiple directory/url pairs in a single svn:externals property, you should put the individual dir/url pairs into a file (let&#039;s call it &#039;svn.externals&#039;), like so</p><div
class="wp_syntax"><div
class="code"><pre>akismet http://svn.wp-plugins.org/akismet/trunk
all-in-one-seo-pack http://svn.wp-plugins.org/all-in-one-seo-pack/trunk</pre></div></div><p>and then apply the property using</p><div
class="wp_syntax"><div
class="code"><pre>svn propset svn:externals -F svn.externals .</pre></div></div><p>You should also just check in &#039;svn.externals&#039; to easily keep track of it.</p><p.One thing I haven't figured out yet is how to perform the same multi-operation without using a file. How does one do it on a single command line?</p><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Properly+Set+SVN+svn%3Aexternals+Property+In+SVN+Command+Line&amp;link=http://beerpla.net/2009/06/20/how-to-properly-set-svn-svnexternals-property-in-svn-command-line/&amp;notes=Introduction%0D%0AEvery%20time%20I%20have%20to%20deal%20with%20svn%3Aexternals%20in%20SVN%2C%20I%20forget%20the%20command%20line%20syntax.%20Every%20single%20damn%20time.%20Normally%2C%20I%20use%20SVN%20GUI%20clients%2C%20such%20as%20SmartSVN%2C%20which%20make%20it%20very%20simple%20to%20add%20an%20svn%3Aexternals%20property.%20But%20for%20command%20line%2C%20it%20always%20takes%20looking%20at%2025%20different%20si&amp;short_link=http://bit.ly/bpA8jU&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Properly+Set+SVN+svn%3Aexternals+Property+In+SVN+Command+Line&amp;link=http://beerpla.net/2009/06/20/how-to-properly-set-svn-svnexternals-property-in-svn-command-line/&amp;notes=Introduction%0D%0AEvery%20time%20I%20have%20to%20deal%20with%20svn%3Aexternals%20in%20SVN%2C%20I%20forget%20the%20command%20line%20syntax.%20Every%20single%20damn%20time.%20Normally%2C%20I%20use%20SVN%20GUI%20clients%2C%20such%20as%20SmartSVN%2C%20which%20make%20it%20very%20simple%20to%20add%20an%20svn%3Aexternals%20property.%20But%20for%20command%20line%2C%20it%20always%20takes%20looking%20at%2025%20different%20si&amp;short_link=http://bit.ly/bpA8jU&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Properly+Set+SVN+svn%3Aexternals+Property+In+SVN+Command+Line&amp;link=http://beerpla.net/2009/06/20/how-to-properly-set-svn-svnexternals-property-in-svn-command-line/&amp;notes=Introduction%0D%0AEvery%20time%20I%20have%20to%20deal%20with%20svn%3Aexternals%20in%20SVN%2C%20I%20forget%20the%20command%20line%20syntax.%20Every%20single%20damn%20time.%20Normally%2C%20I%20use%20SVN%20GUI%20clients%2C%20such%20as%20SmartSVN%2C%20which%20make%20it%20very%20simple%20to%20add%20an%20svn%3Aexternals%20property.%20But%20for%20command%20line%2C%20it%20always%20takes%20looking%20at%2025%20different%20si&amp;short_link=http://bit.ly/bpA8jU&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Properly+Set+SVN+svn%3Aexternals+Property+In+SVN+Command+Line&amp;link=http://beerpla.net/2009/06/20/how-to-properly-set-svn-svnexternals-property-in-svn-command-line/&amp;notes=Introduction%0D%0AEvery%20time%20I%20have%20to%20deal%20with%20svn%3Aexternals%20in%20SVN%2C%20I%20forget%20the%20command%20line%20syntax.%20Every%20single%20damn%20time.%20Normally%2C%20I%20use%20SVN%20GUI%20clients%2C%20such%20as%20SmartSVN%2C%20which%20make%20it%20very%20simple%20to%20add%20an%20svn%3Aexternals%20property.%20But%20for%20command%20line%2C%20it%20always%20takes%20looking%20at%2025%20different%20si&amp;short_link=http://bit.ly/bpA8jU&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Properly+Set+SVN+svn%3Aexternals+Property+In+SVN+Command+Line&amp;link=http://beerpla.net/2009/06/20/how-to-properly-set-svn-svnexternals-property-in-svn-command-line/&amp;notes=Introduction%0D%0AEvery%20time%20I%20have%20to%20deal%20with%20svn%3Aexternals%20in%20SVN%2C%20I%20forget%20the%20command%20line%20syntax.%20Every%20single%20damn%20time.%20Normally%2C%20I%20use%20SVN%20GUI%20clients%2C%20such%20as%20SmartSVN%2C%20which%20make%20it%20very%20simple%20to%20add%20an%20svn%3Aexternals%20property.%20But%20for%20command%20line%2C%20it%20always%20takes%20looking%20at%2025%20different%20si&amp;short_link=http://bit.ly/bpA8jU&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Properly+Set+SVN+svn%3Aexternals+Property+In+SVN+Command+Line&amp;link=http://beerpla.net/2009/06/20/how-to-properly-set-svn-svnexternals-property-in-svn-command-line/&amp;notes=Introduction%0D%0AEvery%20time%20I%20have%20to%20deal%20with%20svn%3Aexternals%20in%20SVN%2C%20I%20forget%20the%20command%20line%20syntax.%20Every%20single%20damn%20time.%20Normally%2C%20I%20use%20SVN%20GUI%20clients%2C%20such%20as%20SmartSVN%2C%20which%20make%20it%20very%20simple%20to%20add%20an%20svn%3Aexternals%20property.%20But%20for%20command%20line%2C%20it%20always%20takes%20looking%20at%2025%20different%20si&amp;short_link=http://bit.ly/bpA8jU&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Properly+Set+SVN+svn%3Aexternals+Property+In+SVN+Command+Line&amp;link=http://beerpla.net/2009/06/20/how-to-properly-set-svn-svnexternals-property-in-svn-command-line/&amp;notes=Introduction%0D%0AEvery%20time%20I%20have%20to%20deal%20with%20svn%3Aexternals%20in%20SVN%2C%20I%20forget%20the%20command%20line%20syntax.%20Every%20single%20damn%20time.%20Normally%2C%20I%20use%20SVN%20GUI%20clients%2C%20such%20as%20SmartSVN%2C%20which%20make%20it%20very%20simple%20to%20add%20an%20svn%3Aexternals%20property.%20But%20for%20command%20line%2C%20it%20always%20takes%20looking%20at%2025%20different%20si&amp;short_link=http://bit.ly/bpA8jU&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=How%20To%20Properly%20Set%20SVN%20svn%3Aexternals%20Property%20In%20SVN%20Command%20Line&amp;link=http://beerpla.net/2009/06/20/how-to-properly-set-svn-svnexternals-property-in-svn-command-line/&amp;notes=Introduction%0D%0AEvery%20time%20I%20have%20to%20deal%20with%20svn%3Aexternals%20in%20SVN%2C%20I%20forget%20the%20command%20line%20syntax.%20Every%20single%20damn%20time.%20Normally%2C%20I%20use%20SVN%20GUI%20clients%2C%20such%20as%20SmartSVN%2C%20which%20make%20it%20very%20simple%20to%20add%20an%20svn%3Aexternals%20property.%20But%20for%20command%20line%2C%20it%20always%20takes%20looking%20at%2025%20different%20si&amp;short_link=http://bit.ly/bpA8jU&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2010/02/20/how-to-view-a-specific-svn-revision-in-your-browser/" rel="bookmark" title="February 20, 2010">How To View A Specific SVN Revision In Your Browser</a></li><li><a
href="http://beerpla.net/2008/06/16/how-to-svn-update-all-your-wordpress-plugins-in-one-go/" rel="bookmark" title="June 16, 2008">How To SVN Update All Your WordPress Plugins In One Go</a></li><li><a
href="http://beerpla.net/2011/11/16/how-to-disableblock-external-http-requests-in-wordpress/" rel="bookmark" title="November 16, 2011">How To: Disable/Block External HTTP Requests In WordPress</a></li><li><a
href="http://beerpla.net/2008/03/29/beer-planet-upgraded-to-wordpress-25/" rel="bookmark" title="March 29, 2008">Beer Planet Upgraded To WordPress 2.5</a></li><li><a
href="http://beerpla.net/2010/03/06/how-to-show-hiddeninvisible-files-in-total-commander-both-locally-and-on-an-ftp-server/" rel="bookmark" title="March 6, 2010">How To Show Hidden/Invisible Files In Total Commander, Both Locally And On An FTP Server</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2009%2F06%2F20%2Fhow-to-properly-set-svn-svnexternals-property-in-svn-command-line%2F&amp;title=How%20To%20Properly%20Set%20SVN%20svn%3Aexternals%20Property%20In%20SVN%20Command%20Line" id="wpa2a_4"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2009/06/20/how-to-properly-set-svn-svnexternals-property-in-svn-command-line/feed/</wfw:commentRss> <slash:comments>27</slash:comments> </item> <item><title>[Perl] Finding Files, The Fun And Elegant Way</title><link>http://beerpla.net/2009/04/08/perl-finding-files-the-fun-and-elegant-way/</link> <comments>http://beerpla.net/2009/04/08/perl-finding-files-the-fun-and-elegant-way/#comments</comments> <pubDate>Wed, 08 Apr 2009 14:00:00 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Awesomeness]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[Perl]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Tutorials]]></category> <category><![CDATA[efficient]]></category> <category><![CDATA[elegant]]></category> <category><![CDATA[file]]></category> <category><![CDATA[find]]></category> <category><![CDATA[follow]]></category> <category><![CDATA[fun]]></category> <category><![CDATA[robust]]></category> <category><![CDATA[search]]></category> <category><![CDATA[skip]]></category> <category><![CDATA[SVN]]></category> <category><![CDATA[symlink]]></category> <guid
isPermaLink="false">http://beerpla.net/2009/04/08/perl-finding-files-the-fun-and-elegant-way/</guid> <description><![CDATA[<p>No matter what programming language you use, there comes a time when you need to search for a file somewhere on the file system. Here, I want to talk about accomplishing this task in Perl. There are many ways of doing so, most of them boring, but I want to discuss the fun and elegant way &#8211; using <a
href="http://search.cpan.org/dist/File-Find-Rule/lib/File/Find/Rule.pm" rel="nofollow">File::Find::Rule</a>.</p><p>Let me briefly discuss some of the other methods first.</p><h2>Limited</h2><p>Using glob() (or &#60;&#62;, TODO verify) you can find files in a single directory, using only the limited shell wildcard support. For example,</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
</pre></td><td
class="code"><pre>my @files = glob(&#34;tmp*&#34;);</pre></td></tr></table></div><p><div
class="note"><div
class="noteclassic">I prefer glob() to &#60;&#62; because glob()&#039;s parameters can be more than just text (for ex functions) while &#60;&#62; treats everything</div></div>...<div
class=clear></div> <a
href="http://beerpla.net/2009/04/08/perl-finding-files-the-fun-and-elegant-way/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<p>No matter what programming language you use, there comes a time when you need to search for a file somewhere on the file system. Here, I want to talk about accomplishing this task in Perl. There are many ways of doing so, most of them boring, but I want to discuss the fun and elegant way &#8211; using <a
href="http://search.cpan.org/dist/File-Find-Rule/lib/File/Find/Rule.pm" rel="nofollow">File::Find::Rule</a>.</p><p>Let me briefly discuss some of the other methods first.</p><h2>Limited</h2><p>Using glob() (or &lt;&gt;, TODO verify) you can find files in a single directory, using only the limited shell wildcard support. For example,</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
</pre></td><td
class="code"><pre>my @files = glob(&quot;tmp*&quot;);</pre></td></tr></table></div><p><div
class="note"><div
class="noteclassic">I prefer glob() to &lt;&gt; because glob()&#039;s parameters can be more than just text (for ex functions) while &lt;&gt; treats everything inside as text.</div></div></p><h2>Boring</h2><p><a
title="http://search.cpan.org/~nwclark/perl-5.8.9/lib/File/Find.pm" href="http://search.cpan.org/~nwclark/perl-5.8.9/lib/File/Find.pm">File::Find</a> is the de facto standard for searching in Perl.</p><p>This method finds files that end in .pl in &quot;.&quot; and &quot;../SomeDir&quot;, following symlinks:</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
</pre></td><td
class="code"><pre>#!/usr/bin/perl -w
&nbsp;
use File::Find;
use Data::Dumper;
use File::Basename;
my @directories_to_search = (&quot;.&quot;, &quot;../SomeDir&quot;);
my @file_list = ();
&nbsp;
find(
  { wanted =&gt;
    sub {
      if ( basename($File::Find::name) =~ /\.pl$/i )
      {
        push @file_list, $File::Find::name;
      }
    },
    follow =&gt; 1
  },
  @directories_to_search
);
print Dumper @file_list;</pre></td></tr></table></div><p>It works fine, except it&#039;s horribly ugly and boring. Let&#039;s have a look at something more fun.</p><h2>The Fun And Elegant Way</h2><p><a
title="http://search.cpan.org/dist/File-Find-Rule/lib/File/Find/Rule.pm" href="http://search.cpan.org/dist/File-Find-Rule/lib/File/Find/Rule.pm" rel="nofollow">File::Find::Rule</a>. Just have a look at this beauty.</p><p>Just like above, find all .pl files in &quot;.&quot; and &quot;../SomeDir&quot;, following symlinks:</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
</pre></td><td
class="code"><pre>print Dumper (File::Find::Rule-&gt;name(&quot;*.pl&quot;)-&gt;file-&gt;extras({ follow =&gt; 1 })-&gt;
in(&quot;.&quot;, &quot;../SomeDir&quot;));</pre></td></tr></table></div><p>Same as above, except bypass .svn directories (shaves off a ton of time with a lot of directories):</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
</pre></td><td
class="code"><pre>print Dumper (File::Find::Rule-&gt;not(File::Find::Rule-&gt;directory-&gt;name('.svn')-&gt;
prune-&gt;discard)-&gt;name(&quot;*.pl&quot;)-&gt;file-&gt;extras({ follow =&gt; 1 })-&gt;in(&quot;.&quot;, &quot;../SomeDir&quot;));</pre></td></tr></table></div><p>Find all .log files that are older than 24 hours in &quot;.&quot;</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
3
</pre></td><td
class="code"><pre>my $epoch_time_1_day_ago = time() - 60*60*24;
print Dumper (File::Find::Rule-&gt;file-&gt;name(&quot;*.log&quot;)-&gt;
mtime(&quot;&lt;$epoch_time_1_day_ago&quot;)-&gt;in('.'));</pre></td></tr></table></div><p>Be sure to read the <a
href="http://search.cpan.org/dist/File-Find-Rule/lib/File/Find/Rule.pm" rel="nofollow">File::Find::Rule</a> perldoc for more options and remember: have fun with your code!<a
href="http://www.weblocal.ca"></a></p><p>Thanks to <a
href="http://perlbuzz.com/" rel="nofollow">Perlbuzz</a> and Andy Lester for <a
href="http://perlbuzz.com/mechanix/2008/05/optimizing-file-searches-with.html" rel="nofollow">pointing me</a> to this library a few months ago.</p><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=%5BPerl%5D+Finding+Files%2C+The+Fun+And+Elegant+Way&amp;link=http://beerpla.net/2009/04/08/perl-finding-files-the-fun-and-elegant-way/&amp;notes=No%20matter%20what%20programming%20language%20you%20use%2C%20there%20comes%20a%20time%20when%20you%20need%20to%20search%20for%20a%20file%20somewhere%20on%20the%20file%20system.%20Here%2C%20I%20want%20to%20talk%20about%20accomplishing%20this%20task%20in%20Perl.%20There%20are%20many%20ways%20of%20doing%20so%2C%20most%20of%20them%20boring%2C%20but%20I%20want%20to%20discuss%20the%20fun%20and%20elegant%20way%20-%20using%20Fil&amp;short_link=http://bit.ly/caZusS&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=%5BPerl%5D+Finding+Files%2C+The+Fun+And+Elegant+Way&amp;link=http://beerpla.net/2009/04/08/perl-finding-files-the-fun-and-elegant-way/&amp;notes=No%20matter%20what%20programming%20language%20you%20use%2C%20there%20comes%20a%20time%20when%20you%20need%20to%20search%20for%20a%20file%20somewhere%20on%20the%20file%20system.%20Here%2C%20I%20want%20to%20talk%20about%20accomplishing%20this%20task%20in%20Perl.%20There%20are%20many%20ways%20of%20doing%20so%2C%20most%20of%20them%20boring%2C%20but%20I%20want%20to%20discuss%20the%20fun%20and%20elegant%20way%20-%20using%20Fil&amp;short_link=http://bit.ly/caZusS&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=%5BPerl%5D+Finding+Files%2C+The+Fun+And+Elegant+Way&amp;link=http://beerpla.net/2009/04/08/perl-finding-files-the-fun-and-elegant-way/&amp;notes=No%20matter%20what%20programming%20language%20you%20use%2C%20there%20comes%20a%20time%20when%20you%20need%20to%20search%20for%20a%20file%20somewhere%20on%20the%20file%20system.%20Here%2C%20I%20want%20to%20talk%20about%20accomplishing%20this%20task%20in%20Perl.%20There%20are%20many%20ways%20of%20doing%20so%2C%20most%20of%20them%20boring%2C%20but%20I%20want%20to%20discuss%20the%20fun%20and%20elegant%20way%20-%20using%20Fil&amp;short_link=http://bit.ly/caZusS&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=%5BPerl%5D+Finding+Files%2C+The+Fun+And+Elegant+Way&amp;link=http://beerpla.net/2009/04/08/perl-finding-files-the-fun-and-elegant-way/&amp;notes=No%20matter%20what%20programming%20language%20you%20use%2C%20there%20comes%20a%20time%20when%20you%20need%20to%20search%20for%20a%20file%20somewhere%20on%20the%20file%20system.%20Here%2C%20I%20want%20to%20talk%20about%20accomplishing%20this%20task%20in%20Perl.%20There%20are%20many%20ways%20of%20doing%20so%2C%20most%20of%20them%20boring%2C%20but%20I%20want%20to%20discuss%20the%20fun%20and%20elegant%20way%20-%20using%20Fil&amp;short_link=http://bit.ly/caZusS&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=%5BPerl%5D+Finding+Files%2C+The+Fun+And+Elegant+Way&amp;link=http://beerpla.net/2009/04/08/perl-finding-files-the-fun-and-elegant-way/&amp;notes=No%20matter%20what%20programming%20language%20you%20use%2C%20there%20comes%20a%20time%20when%20you%20need%20to%20search%20for%20a%20file%20somewhere%20on%20the%20file%20system.%20Here%2C%20I%20want%20to%20talk%20about%20accomplishing%20this%20task%20in%20Perl.%20There%20are%20many%20ways%20of%20doing%20so%2C%20most%20of%20them%20boring%2C%20but%20I%20want%20to%20discuss%20the%20fun%20and%20elegant%20way%20-%20using%20Fil&amp;short_link=http://bit.ly/caZusS&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=%5BPerl%5D+Finding+Files%2C+The+Fun+And+Elegant+Way&amp;link=http://beerpla.net/2009/04/08/perl-finding-files-the-fun-and-elegant-way/&amp;notes=No%20matter%20what%20programming%20language%20you%20use%2C%20there%20comes%20a%20time%20when%20you%20need%20to%20search%20for%20a%20file%20somewhere%20on%20the%20file%20system.%20Here%2C%20I%20want%20to%20talk%20about%20accomplishing%20this%20task%20in%20Perl.%20There%20are%20many%20ways%20of%20doing%20so%2C%20most%20of%20them%20boring%2C%20but%20I%20want%20to%20discuss%20the%20fun%20and%20elegant%20way%20-%20using%20Fil&amp;short_link=http://bit.ly/caZusS&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=%5BPerl%5D+Finding+Files%2C+The+Fun+And+Elegant+Way&amp;link=http://beerpla.net/2009/04/08/perl-finding-files-the-fun-and-elegant-way/&amp;notes=No%20matter%20what%20programming%20language%20you%20use%2C%20there%20comes%20a%20time%20when%20you%20need%20to%20search%20for%20a%20file%20somewhere%20on%20the%20file%20system.%20Here%2C%20I%20want%20to%20talk%20about%20accomplishing%20this%20task%20in%20Perl.%20There%20are%20many%20ways%20of%20doing%20so%2C%20most%20of%20them%20boring%2C%20but%20I%20want%20to%20discuss%20the%20fun%20and%20elegant%20way%20-%20using%20Fil&amp;short_link=http://bit.ly/caZusS&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=%5BPerl%5D%20Finding%20Files%2C%20The%20Fun%20And%20Elegant%20Way&amp;link=http://beerpla.net/2009/04/08/perl-finding-files-the-fun-and-elegant-way/&amp;notes=No%20matter%20what%20programming%20language%20you%20use%2C%20there%20comes%20a%20time%20when%20you%20need%20to%20search%20for%20a%20file%20somewhere%20on%20the%20file%20system.%20Here%2C%20I%20want%20to%20talk%20about%20accomplishing%20this%20task%20in%20Perl.%20There%20are%20many%20ways%20of%20doing%20so%2C%20most%20of%20them%20boring%2C%20but%20I%20want%20to%20discuss%20the%20fun%20and%20elegant%20way%20-%20using%20Fil&amp;short_link=http://bit.ly/caZusS&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2009/03/05/perl-how-to-get-the-path-of-an-included-library-pm-regardless-of-current-directory/" rel="bookmark" title="March 5, 2009">[Perl] How To Get The Path Of An Included Library (.pm), Regardless Of Current Directory</a></li><li><a
href="http://beerpla.net/2007/10/28/ftprush-cleanup-script/" rel="bookmark" title="October 28, 2007">FTPRush Cleanup Script</a></li><li><a
href="http://beerpla.net/2008/03/21/quick-snippet-finding-if-a-file-has-a-media-extension-using-regex/" rel="bookmark" title="March 21, 2008">Quick Perl Snippet: Finding If A File Has A Media Extension Using Regex</a></li><li><a
href="http://beerpla.net/2008/07/23/how-to-check-if-the-local-svn-revision-is-up-to-date/" rel="bookmark" title="July 23, 2008">How To Check If The Local SVN Revision Is Up-To-Date</a></li><li><a
href="http://beerpla.net/2008/10/11/how-to-sort-folders-the-same-way-as-files-in-total-commander/" rel="bookmark" title="October 11, 2008">How To Sort Folders The Same Way As Files In Total Commander</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2009%2F04%2F08%2Fperl-finding-files-the-fun-and-elegant-way%2F&amp;title=%5BPerl%5D%20Finding%20Files%2C%20The%20Fun%20And%20Elegant%20Way" id="wpa2a_6"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2009/04/08/perl-finding-files-the-fun-and-elegant-way/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>How To Check If The Local SVN Revision Is Up-To-Date</title><link>http://beerpla.net/2008/07/23/how-to-check-if-the-local-svn-revision-is-up-to-date/</link> <comments>http://beerpla.net/2008/07/23/how-to-check-if-the-local-svn-revision-is-up-to-date/#comments</comments> <pubDate>Thu, 24 Jul 2008 05:46:15 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Linux]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[checkout]]></category> <category><![CDATA[co]]></category> <category><![CDATA[compare]]></category> <category><![CDATA[dry run]]></category> <category><![CDATA[revision]]></category> <category><![CDATA[SVN]]></category> <category><![CDATA[up]]></category> <category><![CDATA[up-to-date]]></category> <category><![CDATA[update]]></category> <guid
isPermaLink="false">http://beerpla.net/2008/07/23/how-to-check-if-the-local-svn-revision-is-up-to-date/</guid> <description><![CDATA[<p>I&#039;ve encountered a problem recently where I had to figure out if some checked out code is up-to-date with the svn repository, without actually running svn update. Unfortunately, svn update doesn&#039;t have a dry-run option, so I had to find another solution.</p><p>I came up with 2, depending on how detailed the information needs to be, which I&#039;m about to share in this post.</p><p><strong>1. If you want exact file and directory names, you can run:</strong></p><p><div
class="wp_syntax"><div
class="code"><pre>svn status -u</pre></div></div></p><p>If any files need updating, you will see a * before the file name.</p><p><font
face="consolas"></font></p><div
class="wp_syntax"><div
class="code"><pre>svn status wc
M     wc/bar.c
A  +   wc/qax.c</pre></div></div><p></p><p><font
face="consolas"></font></p><div
class="wp_syntax"><div
class="code"><pre>svn status -u wc
M            965    wc/bar.c
       *     965    wc/foo.c
A  +         965    wc/qax.c
Status against revision:   981</pre></div></div><p></p><p><font
face="consolas">Or </font>...<div
class=clear></div> <a
href="http://beerpla.net/2008/07/23/how-to-check-if-the-local-svn-revision-is-up-to-date/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></p>]]></description> <content:encoded><![CDATA[<p>I&#039;ve encountered a problem recently where I had to figure out if some checked out code is up-to-date with the svn repository, without actually running svn update. Unfortunately, svn update doesn&#039;t have a dry-run option, so I had to find another solution.</p><p>I came up with 2, depending on how detailed the information needs to be, which I&#039;m about to share in this post.</p><p><strong>1. If you want exact file and directory names, you can run:</strong></p><p><div
class="wp_syntax"><div
class="code"><pre>svn status -u</pre></div></div></p><p>If any files need updating, you will see a * before the file name.</p><p><font
face="consolas"></p><div
class="wp_syntax"><div
class="code"><pre>svn status wc
M     wc/bar.c
A  +   wc/qax.c</pre></div></div><p></font></p><p><font
face="consolas"></p><div
class="wp_syntax"><div
class="code"><pre>svn status -u wc
M            965    wc/bar.c
       *     965    wc/foo.c
A  +         965    wc/qax.c
Status against revision:   981</pre></div></div><p></font></p><p><font
face="consolas">Or more verbose</font></p><p><font
face="consolas"></p><div
class="wp_syntax"><div
class="code"><pre>svn status --show-updates --verbose wc
M            965       938 kfogel       wc/bar.c
       *     965       922 sussman      wc/foo.c
A  +         965       687 joe          wc/qax.c
             965       687 joe          wc/zig.c
Status against revision:   981</pre></div></div><p></font></p><p>Parsing the output in Perl, for instance, should be trivial. A connection to the repository is established for this check, so be sure to catch in your code the times when such connection is not available.</p><p><strong>2. If you only care about whether a specific directory needs to be updated or not, here&#039;s a quicker method:</strong></p><p>svn info vs svn info -rHEAD</p><p><div
class="wp_syntax"><div
class="code"><pre>cd somedir;
svn info -r HEAD | grep -i &quot;Last Changed Rev&quot;
Last Changed Rev: 8544
svn info | grep -i &quot;Last Changed Rev&quot;
Last Changed Rev: 8531</pre></div></div></p><p>If these numbers are not the same, an update is needed.</p><p>What can I be missing? Are there any other creative ways, or is svn update going to support dry-run? Feel free to leave a comment if you know something I don&#039;t.</p><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Check+If+The+Local+SVN+Revision+Is+Up-To-Date&amp;link=http://beerpla.net/2008/07/23/how-to-check-if-the-local-svn-revision-is-up-to-date/&amp;notes=I%27ve%20encountered%20a%20problem%20recently%20where%20I%20had%20to%20figure%20out%20if%20some%20checked%20out%20code%20is%20up-to-date%20with%20the%20svn%20repository%2C%20without%20actually%20running%20svn%20update.%20Unfortunately%2C%20svn%20update%20doesn%27t%20have%20a%20dry-run%20option%2C%20so%20I%20had%20to%20find%20another%20solution.%20I%20came%20up%20with%202%2C%20depending%20on%20how%20detailed%20t&amp;short_link=http://bit.ly/bpdXJa&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Check+If+The+Local+SVN+Revision+Is+Up-To-Date&amp;link=http://beerpla.net/2008/07/23/how-to-check-if-the-local-svn-revision-is-up-to-date/&amp;notes=I%27ve%20encountered%20a%20problem%20recently%20where%20I%20had%20to%20figure%20out%20if%20some%20checked%20out%20code%20is%20up-to-date%20with%20the%20svn%20repository%2C%20without%20actually%20running%20svn%20update.%20Unfortunately%2C%20svn%20update%20doesn%27t%20have%20a%20dry-run%20option%2C%20so%20I%20had%20to%20find%20another%20solution.%20I%20came%20up%20with%202%2C%20depending%20on%20how%20detailed%20t&amp;short_link=http://bit.ly/bpdXJa&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Check+If+The+Local+SVN+Revision+Is+Up-To-Date&amp;link=http://beerpla.net/2008/07/23/how-to-check-if-the-local-svn-revision-is-up-to-date/&amp;notes=I%27ve%20encountered%20a%20problem%20recently%20where%20I%20had%20to%20figure%20out%20if%20some%20checked%20out%20code%20is%20up-to-date%20with%20the%20svn%20repository%2C%20without%20actually%20running%20svn%20update.%20Unfortunately%2C%20svn%20update%20doesn%27t%20have%20a%20dry-run%20option%2C%20so%20I%20had%20to%20find%20another%20solution.%20I%20came%20up%20with%202%2C%20depending%20on%20how%20detailed%20t&amp;short_link=http://bit.ly/bpdXJa&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Check+If+The+Local+SVN+Revision+Is+Up-To-Date&amp;link=http://beerpla.net/2008/07/23/how-to-check-if-the-local-svn-revision-is-up-to-date/&amp;notes=I%27ve%20encountered%20a%20problem%20recently%20where%20I%20had%20to%20figure%20out%20if%20some%20checked%20out%20code%20is%20up-to-date%20with%20the%20svn%20repository%2C%20without%20actually%20running%20svn%20update.%20Unfortunately%2C%20svn%20update%20doesn%27t%20have%20a%20dry-run%20option%2C%20so%20I%20had%20to%20find%20another%20solution.%20I%20came%20up%20with%202%2C%20depending%20on%20how%20detailed%20t&amp;short_link=http://bit.ly/bpdXJa&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Check+If+The+Local+SVN+Revision+Is+Up-To-Date&amp;link=http://beerpla.net/2008/07/23/how-to-check-if-the-local-svn-revision-is-up-to-date/&amp;notes=I%27ve%20encountered%20a%20problem%20recently%20where%20I%20had%20to%20figure%20out%20if%20some%20checked%20out%20code%20is%20up-to-date%20with%20the%20svn%20repository%2C%20without%20actually%20running%20svn%20update.%20Unfortunately%2C%20svn%20update%20doesn%27t%20have%20a%20dry-run%20option%2C%20so%20I%20had%20to%20find%20another%20solution.%20I%20came%20up%20with%202%2C%20depending%20on%20how%20detailed%20t&amp;short_link=http://bit.ly/bpdXJa&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Check+If+The+Local+SVN+Revision+Is+Up-To-Date&amp;link=http://beerpla.net/2008/07/23/how-to-check-if-the-local-svn-revision-is-up-to-date/&amp;notes=I%27ve%20encountered%20a%20problem%20recently%20where%20I%20had%20to%20figure%20out%20if%20some%20checked%20out%20code%20is%20up-to-date%20with%20the%20svn%20repository%2C%20without%20actually%20running%20svn%20update.%20Unfortunately%2C%20svn%20update%20doesn%27t%20have%20a%20dry-run%20option%2C%20so%20I%20had%20to%20find%20another%20solution.%20I%20came%20up%20with%202%2C%20depending%20on%20how%20detailed%20t&amp;short_link=http://bit.ly/bpdXJa&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+Check+If+The+Local+SVN+Revision+Is+Up-To-Date&amp;link=http://beerpla.net/2008/07/23/how-to-check-if-the-local-svn-revision-is-up-to-date/&amp;notes=I%27ve%20encountered%20a%20problem%20recently%20where%20I%20had%20to%20figure%20out%20if%20some%20checked%20out%20code%20is%20up-to-date%20with%20the%20svn%20repository%2C%20without%20actually%20running%20svn%20update.%20Unfortunately%2C%20svn%20update%20doesn%27t%20have%20a%20dry-run%20option%2C%20so%20I%20had%20to%20find%20another%20solution.%20I%20came%20up%20with%202%2C%20depending%20on%20how%20detailed%20t&amp;short_link=http://bit.ly/bpdXJa&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=How%20To%20Check%20If%20The%20Local%20SVN%20Revision%20Is%20Up-To-Date&amp;link=http://beerpla.net/2008/07/23/how-to-check-if-the-local-svn-revision-is-up-to-date/&amp;notes=I%27ve%20encountered%20a%20problem%20recently%20where%20I%20had%20to%20figure%20out%20if%20some%20checked%20out%20code%20is%20up-to-date%20with%20the%20svn%20repository%2C%20without%20actually%20running%20svn%20update.%20Unfortunately%2C%20svn%20update%20doesn%27t%20have%20a%20dry-run%20option%2C%20so%20I%20had%20to%20find%20another%20solution.%20I%20came%20up%20with%202%2C%20depending%20on%20how%20detailed%20t&amp;short_link=http://bit.ly/bpdXJa&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2010/02/20/how-to-view-a-specific-svn-revision-in-your-browser/" rel="bookmark" title="February 20, 2010">How To View A Specific SVN Revision In Your Browser</a></li><li><a
href="http://beerpla.net/2008/06/16/how-to-svn-update-all-your-wordpress-plugins-in-one-go/" rel="bookmark" title="June 16, 2008">How To SVN Update All Your WordPress Plugins In One Go</a></li><li><a
href="http://beerpla.net/2006/07/15/converting-from-cvs-to-svn-developers-notes-and-why-svn-is-better/" rel="bookmark" title="July 15, 2006">Converting from CVS to SVN: Developer&#039;s Notes And Why SVN Is Better</a></li><li><a
href="http://beerpla.net/2010/03/06/how-to-show-hiddeninvisible-files-in-total-commander-both-locally-and-on-an-ftp-server/" rel="bookmark" title="March 6, 2010">How To Show Hidden/Invisible Files In Total Commander, Both Locally And On An FTP Server</a></li><li><a
href="http://beerpla.net/2009/06/20/how-to-properly-set-svn-svnexternals-property-in-svn-command-line/" rel="bookmark" title="June 20, 2009">How To Properly Set SVN svn:externals Property In SVN Command Line</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2008%2F07%2F23%2Fhow-to-check-if-the-local-svn-revision-is-up-to-date%2F&amp;title=How%20To%20Check%20If%20The%20Local%20SVN%20Revision%20Is%20Up-To-Date" id="wpa2a_8"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2008/07/23/how-to-check-if-the-local-svn-revision-is-up-to-date/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>How To SVN Update All Your WordPress Plugins In One Go</title><link>http://beerpla.net/2008/06/16/how-to-svn-update-all-your-wordpress-plugins-in-one-go/</link> <comments>http://beerpla.net/2008/06/16/how-to-svn-update-all-your-wordpress-plugins-in-one-go/#comments</comments> <pubDate>Mon, 16 Jun 2008 08:34:37 +0000</pubDate> <dc:creator>Artem Russakovskii</dc:creator> <category><![CDATA[Beer Planet]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[Wordpress]]></category> <category><![CDATA[all]]></category> <category><![CDATA[mass]]></category> <category><![CDATA[plugin]]></category> <category><![CDATA[SVN]]></category> <category><![CDATA[update]]></category> <guid
isPermaLink="false">http://beerpla.net/2008/06/16/how-to-svn-update-all-your-wordpress-plugins-in-one-go/</guid> <description><![CDATA[<p>If you&#039;re like me, most of your WordPress plugins are checked out into your plugins directory from <a
href="http://svn.wp-plugins.org">the official WordPress SVN repository</a> or some other one. I haven&#039;t updated any of mine for about a month and wanted to sync up everything quickly (including SVN externals). Here&#039;s a short command I ran to achieve that:</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
</pre></td><td
class="code"><pre>cd YOUR_BLOG_ROOT/wp-content/plugins;
find . -maxdepth 1 -type d -exec svn up {} \;</pre></td></tr></table></div><p>What this command does is finds the top level directories in your WordPress plugins directory, then applies the &#34;svn update&#34; command to each, one by one.</p><p>The result is something like</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td></tr></table>...<div
class=clear></div> <a
href="http://beerpla.net/2008/06/16/how-to-svn-update-all-your-wordpress-plugins-in-one-go/" class="read_more"><div
class=excerpt-end>Read the rest of this article &#187;</div></a></div>]]></description> <content:encoded><![CDATA[<p>If you&#039;re like me, most of your WordPress plugins are checked out into your plugins directory from <a
href="http://svn.wp-plugins.org">the official WordPress SVN repository</a> or some other one. I haven&#039;t updated any of mine for about a month and wanted to sync up everything quickly (including SVN externals). Here&#039;s a short command I ran to achieve that:</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
</pre></td><td
class="code"><pre>cd YOUR_BLOG_ROOT/wp-content/plugins;
find . -maxdepth 1 -type d -exec svn up {} \;</pre></td></tr></table></div><p>What this command does is finds the top level directories in your WordPress plugins directory, then applies the &quot;svn update&quot; command to each, one by one.</p><p>The result is something like</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
</pre></td><td
class="code"><pre>Fetching external item into 'akismet'
A    akismet/readme.txt
Updated external to revision 50666.
&nbsp;
Updated to revision 8094.
At revision 8094.
U    share-this/sharethis.php
Updated to revision 50666.
D    wp-postratings/postratings-admin-js.php
D    wp-postratings/postratings-usage.php
D    wp-postratings/postratings-js.php
A    wp-postratings/postratings-js-packed.js
U    wp-postratings/wp-postratings.php
A    wp-postratings/postratings-admin-js.js
U    wp-postratings/postratings-css.css
U    wp-postratings/postratings-options.php
A    wp-postratings/postratings-templates.php
U    wp-postratings/postratings-stats.php
U    wp-postratings/readme.html
A    wp-postratings/postratings-js.js
U    wp-postratings/wp-postratings.pot
U    wp-postratings/wp-postratings-widget.php
U    wp-postratings/postratings-uninstall.php
U    wp-postratings/postratings-admin-ajax.php
U    wp-postratings/wp-postratings.mo
U    wp-postratings/readme.txt
U    wp-postratings/postratings-manager.php
A    wp-postratings/postratings-admin-js-packed.js
Updated to revision 50666.
At revision 8094.
...</pre></td></tr></table></div><p>With such mass updating, of course, an incompatibility in one of the updates can break the whole blog. In my case, it happened to be the latest version of wp-sticky. I identified it by disabling wp-super-cache first, then disabling each updated plugin one by one. Once identified, I did the following:</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
</pre></td><td
class="code"><pre>cd wp-sticky
svn log | head</pre></td></tr></table></div><p>That showed me the latest commits by the author as well as the SVN revision numbers. I then used this information to revert one revision back by doing:</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
</pre></td><td
class="code"><pre>svn up -r 50489</pre></td></tr></table></div><p>The following command showed a diff of what exactly changed in that revision and broke everything:</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
</pre></td><td
class="code"><pre>svn diff -r50489:50490</pre></td></tr></table></div><p>Once everything was stable, I emailed the plugin author to tell him about the bug (heya, Lester). Be careful not to run &#039;svn up&#039; on this directory again until the bug is fixed as it&#039;ll persistently update to the latest version.</p><div
class="shr-bookmarks shr-bookmarks-expand"><ul
class="socials"><li
class="shr-twitter"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+SVN+Update+All+Your+Wordpress+Plugins+In+One+Go&amp;link=http://beerpla.net/2008/06/16/how-to-svn-update-all-your-wordpress-plugins-in-one-go/&amp;notes=If%20you%27re%20like%20me%2C%20most%20of%20your%20Wordpress%20plugins%20are%20checked%20out%20into%20your%20plugins%20directory%20from%20the%20official%20Wordpress%20SVN%20repository%20or%20some%20other%20one.%20I%20haven%27t%20updated%20any%20of%20mine%20for%20about%20a%20month%20and%20wanted%20to%20sync%20up%20everything%20quickly%20%28including%20SVN%20externals%29.%20Here%27s%20a%20short%20command%20I%20ran&amp;short_link=http://bit.ly/bj9fqO&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=%24%7Btitle%7D+-+%24%7Bshort_link%7D&amp;service=7&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-facebook"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+SVN+Update+All+Your+Wordpress+Plugins+In+One+Go&amp;link=http://beerpla.net/2008/06/16/how-to-svn-update-all-your-wordpress-plugins-in-one-go/&amp;notes=If%20you%27re%20like%20me%2C%20most%20of%20your%20Wordpress%20plugins%20are%20checked%20out%20into%20your%20plugins%20directory%20from%20the%20official%20Wordpress%20SVN%20repository%20or%20some%20other%20one.%20I%20haven%27t%20updated%20any%20of%20mine%20for%20about%20a%20month%20and%20wanted%20to%20sync%20up%20everything%20quickly%20%28including%20SVN%20externals%29.%20Here%27s%20a%20short%20command%20I%20ran&amp;short_link=http://bit.ly/bj9fqO&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=5&amp;tags=&amp;ctype=" rel="nofollow" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+SVN+Update+All+Your+Wordpress+Plugins+In+One+Go&amp;link=http://beerpla.net/2008/06/16/how-to-svn-update-all-your-wordpress-plugins-in-one-go/&amp;notes=If%20you%27re%20like%20me%2C%20most%20of%20your%20Wordpress%20plugins%20are%20checked%20out%20into%20your%20plugins%20directory%20from%20the%20official%20Wordpress%20SVN%20repository%20or%20some%20other%20one.%20I%20haven%27t%20updated%20any%20of%20mine%20for%20about%20a%20month%20and%20wanted%20to%20sync%20up%20everything%20quickly%20%28including%20SVN%20externals%29.%20Here%27s%20a%20short%20command%20I%20ran&amp;short_link=http://bit.ly/bj9fqO&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=257&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-reddit"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+SVN+Update+All+Your+Wordpress+Plugins+In+One+Go&amp;link=http://beerpla.net/2008/06/16/how-to-svn-update-all-your-wordpress-plugins-in-one-go/&amp;notes=If%20you%27re%20like%20me%2C%20most%20of%20your%20Wordpress%20plugins%20are%20checked%20out%20into%20your%20plugins%20directory%20from%20the%20official%20Wordpress%20SVN%20repository%20or%20some%20other%20one.%20I%20haven%27t%20updated%20any%20of%20mine%20for%20about%20a%20month%20and%20wanted%20to%20sync%20up%20everything%20quickly%20%28including%20SVN%20externals%29.%20Here%27s%20a%20short%20command%20I%20ran&amp;short_link=http://bit.ly/bj9fqO&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=40&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on Reddit">Share this on Reddit</a></li><li
class="shr-hackernews"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+SVN+Update+All+Your+Wordpress+Plugins+In+One+Go&amp;link=http://beerpla.net/2008/06/16/how-to-svn-update-all-your-wordpress-plugins-in-one-go/&amp;notes=If%20you%27re%20like%20me%2C%20most%20of%20your%20Wordpress%20plugins%20are%20checked%20out%20into%20your%20plugins%20directory%20from%20the%20official%20Wordpress%20SVN%20repository%20or%20some%20other%20one.%20I%20haven%27t%20updated%20any%20of%20mine%20for%20about%20a%20month%20and%20wanted%20to%20sync%20up%20everything%20quickly%20%28including%20SVN%20externals%29.%20Here%27s%20a%20short%20command%20I%20ran&amp;short_link=http://bit.ly/bj9fqO&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=202&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Submit this to Hacker News">Submit this to Hacker News</a></li><li
class="shr-delicious"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+SVN+Update+All+Your+Wordpress+Plugins+In+One+Go&amp;link=http://beerpla.net/2008/06/16/how-to-svn-update-all-your-wordpress-plugins-in-one-go/&amp;notes=If%20you%27re%20like%20me%2C%20most%20of%20your%20Wordpress%20plugins%20are%20checked%20out%20into%20your%20plugins%20directory%20from%20the%20official%20Wordpress%20SVN%20repository%20or%20some%20other%20one.%20I%20haven%27t%20updated%20any%20of%20mine%20for%20about%20a%20month%20and%20wanted%20to%20sync%20up%20everything%20quickly%20%28including%20SVN%20externals%29.%20Here%27s%20a%20short%20command%20I%20ran&amp;short_link=http://bit.ly/bj9fqO&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=2&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-stumbleupon"> <a
href="http://www.shareaholic.com/api/share/?title=How+To+SVN+Update+All+Your+Wordpress+Plugins+In+One+Go&amp;link=http://beerpla.net/2008/06/16/how-to-svn-update-all-your-wordpress-plugins-in-one-go/&amp;notes=If%20you%27re%20like%20me%2C%20most%20of%20your%20Wordpress%20plugins%20are%20checked%20out%20into%20your%20plugins%20directory%20from%20the%20official%20Wordpress%20SVN%20repository%20or%20some%20other%20one.%20I%20haven%27t%20updated%20any%20of%20mine%20for%20about%20a%20month%20and%20wanted%20to%20sync%20up%20everything%20quickly%20%28including%20SVN%20externals%29.%20Here%27s%20a%20short%20command%20I%20ran&amp;short_link=http://bit.ly/bj9fqO&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=38&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Stumble upon something good? Share it on StumbleUpon">Stumble upon something good? Share it on StumbleUpon</a></li><li
class="shr-mail"> <a
href="http://www.shareaholic.com/api/share/?title=How%20To%20SVN%20Update%20All%20Your%20Wordpress%20Plugins%20In%20One%20Go&amp;link=http://beerpla.net/2008/06/16/how-to-svn-update-all-your-wordpress-plugins-in-one-go/&amp;notes=If%20you%27re%20like%20me%2C%20most%20of%20your%20Wordpress%20plugins%20are%20checked%20out%20into%20your%20plugins%20directory%20from%20the%20official%20Wordpress%20SVN%20repository%20or%20some%20other%20one.%20I%20haven%27t%20updated%20any%20of%20mine%20for%20about%20a%20month%20and%20wanted%20to%20sync%20up%20everything%20quickly%20%28including%20SVN%20externals%29.%20Here%27s%20a%20short%20command%20I%20ran&amp;short_link=http://bit.ly/bj9fqO&amp;v=1&amp;apitype=1&amp;apikey=8afa39428933be41f8afdb8ea21a495c&amp;source=Shareaholic&amp;template=&amp;service=201&amp;tags=&amp;ctype=" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear: both;"></div></div> Similar Posts:<ul><li><a
href="http://beerpla.net/2009/06/20/how-to-properly-set-svn-svnexternals-property-in-svn-command-line/" rel="bookmark" title="June 20, 2009">How To Properly Set SVN svn:externals Property In SVN Command Line</a></li><li><a
href="http://beerpla.net/2010/02/20/how-to-view-a-specific-svn-revision-in-your-browser/" rel="bookmark" title="February 20, 2010">How To View A Specific SVN Revision In Your Browser</a></li><li><a
href="http://beerpla.net/2008/07/23/how-to-check-if-the-local-svn-revision-is-up-to-date/" rel="bookmark" title="July 23, 2008">How To Check If The Local SVN Revision Is Up-To-Date</a></li><li><a
href="http://beerpla.net/2011/11/16/how-to-disableblock-external-http-requests-in-wordpress/" rel="bookmark" title="November 16, 2011">How To: Disable/Block External HTTP Requests In WordPress</a></li><li><a
href="http://beerpla.net/2010/03/06/how-to-show-hiddeninvisible-files-in-total-commander-both-locally-and-on-an-ftp-server/" rel="bookmark" title="March 6, 2010">How To Show Hidden/Invisible Files In Total Commander, Both Locally And On An FTP Server</a></li></ul><p><a
class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fbeerpla.net%2F2008%2F06%2F16%2Fhow-to-svn-update-all-your-wordpress-plugins-in-one-go%2F&amp;title=How%20To%20SVN%20Update%20All%20Your%20WordPress%20Plugins%20In%20One%20Go" id="wpa2a_10"><img
src="http://beerpla.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded> <wfw:commentRss>http://beerpla.net/2008/06/16/how-to-svn-update-all-your-wordpress-plugins-in-one-go/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> </channel> </rss>
