<?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>RabbitVCS</title>
	<atom:link href="http://blog.rabbitvcs.org/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.rabbitvcs.org</link>
	<description>News and Discussion on RabbitVCS</description>
	<lastBuildDate>Wed, 16 Jun 2010 14:00:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Release announcement for RabbitVCS v0.13.3!</title>
		<link>http://blog.rabbitvcs.org/archives/238</link>
		<comments>http://blog.rabbitvcs.org/archives/238#comments</comments>
		<pubDate>Wed, 16 Jun 2010 14:00:14 +0000</pubDate>
		<dc:creator>Adam Plumb</dc:creator>
				<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://blog.rabbitvcs.org/?p=238</guid>
		<description><![CDATA[It&#8217;s that time again, time for another RabbitVCS point release!  RabbitVCS v0.13.3 brings to the table the following bug fixes: Core: Bug #371, When double-clicking a Previous Message, only the most recent message would be returned Bug #375, Some VCS actions were not prepared to ask the user for authentication.  The result was an error. [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s that time again, time for another RabbitVCS point release!  RabbitVCS v0.13.3 brings to the table the following bug fixes:</p>
<p><strong>Core:</strong></p>
<ul>
<li> Bug #371, When double-clicking a Previous Message, only the most recent message would be returned</li>
<li>Bug #375, Some VCS actions were not prepared to ask the user for authentication.  The result was an error.</li>
<li>In the Repository Browser, double-clicking &#8220;..&#8221; does the correct thing again (goes to parent folder)</li>
<li>Bug #371, Allow diffs of directories</li>
<li>Bug #363, Prepend the file:// protocol to strings PySVN expects to be URLS</li>
<li>Bug #331, Quote URLs when passing them to VCS functions</li>
<li>Many other bug fixes</li>
</ul>
<p><strong>Nautilus Plugin:</strong></p>
<ul>
<li> Bug #296, No longer forces the English language</li>
</ul>
<p><strong>Gedit Plugin:</strong></p>
<ul>
<li> The v0.13.2.1 release broke the gedit plugin, but it is fixed again with this release.</li>
</ul>
<p><strong>Homepage:</strong></p>
<p>http://www.rabbitvcs.org</p>
<p><strong>Download RabbitVCS v0.13.3 at:</strong></p>
<p>http://wiki.rabbitvcs.org/wiki/download</p>
<p>Note: Distribution packages and our PPA will be updated within a day or two.</p>
<p>Note2: Ubuntu 8.10 (Intrepid) users should be aware that Intrepid has reached end-of-life status and our PPA packages will no longer build for it.</p>
<p><strong>Issue Tracker:</strong></p>
<p>http://code.google.com/p/rabbitvcs/issues/list</p>
<p>A big thanks and a great job to everyone on the team and everyone who contributed to this release!</p>
<p>Adam</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabbitvcs.org/archives/238/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Release announcements for RabbitVCS v0.13.2!</title>
		<link>http://blog.rabbitvcs.org/archives/234</link>
		<comments>http://blog.rabbitvcs.org/archives/234#comments</comments>
		<pubDate>Sat, 29 May 2010 19:49:41 +0000</pubDate>
		<dc:creator>Adam Plumb</dc:creator>
				<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://blog.rabbitvcs.org/?p=234</guid>
		<description><![CDATA[Apparently there were a lot of bugs in the v0.13.1 release because here is an unprecedented SECOND point release, fixing bugs like there is no tomorrow.  Most of the bugfixes are in the core app and not in the plugins. Also, here is some more good news.  After several months of grueling back and forth, [...]]]></description>
			<content:encoded><![CDATA[<p>Apparently there were a lot of bugs in the v0.13.1 release because here is an unprecedented SECOND point release, fixing bugs like there is no tomorrow.  Most of the bugfixes are in the core app and not in the plugins.</p>
<p>Also, here is some more good news.  After several months of grueling back and forth, Juan (Nushio), our resident Fedora packager, has gotten RabbitVCS included in the official repositories, so starting pretty soon you Fedora users will be able to install RabbitVCS directly through the official repositories.</p>
<p>Here is a bugfix summary:</p>
<p><strong>Core:</strong></p>
<ul>
<li> Fixed some locale issues</li>
<li>Fixed some minor issues for folks running python 2.4</li>
<li>Small change to follow Fedora packaging guidelines, we&#8217;ll be in the Fedora repositories now!</li>
<li>Bug #344, &#8216;Failure to rename because &#8220;The new name field is required&#8221;&#8216;</li>
<li>Bug #363, &#8216;Can&#8217;t use repo browser without a working copy: &#8220;. is not a working copy&#8221;&#8216;</li>
<li>In the Repository Browser, save urls when the user manually changes location</li>
<li>When the Repository Browser is opened as a dialog, the &#8220;Close&#8221; button is renamed to &#8220;Select&#8221;.</li>
<li>Bug #367, &#8216;Activating file in repository browser does not open, but thinks it&#8217;s a directory&#8217;</li>
<li>Bug #361, &#8216;On Merge dialog leaving empty revision field cause hangup&#8217;</li>
<li>Bug #360, &#8216;clear authentication information does not work&#8217;</li>
<li>Backported a fix from trunk that allows one to double-click on a  message from the PreviousMessages dialog to select it.</li>
<li>Bug #349, &#8216;Log top context menu: Re-enable update to revision feature&#8217;</li>
<li>Bug #345, &#8216;Edit Property Value Doesn&#8217;t Fill Window Vertically&#8217;</li>
<li>Bug #356, &#8216;Gradual accumulation of unterminated python subprocesses&#8217;  Note: This may not be 100% fixed, but we got at least one of the main causes</li>
<li>Don&#8217;t show the Loading dialog twice when getting a diff from the log dialog</li>
<li>All dialogs should have the rabbitvcs icon in the window</li>
</ul>
<p><strong>Nautilus Plugin:</strong></p>
<ul>
<li>Fixed problem where the extension would still do all the status checking work even if both emblems and attributes (columns) were disabled.</li>
</ul>
<p><strong>Gedit Plugin:</strong></p>
<ul>
<li>Bug #341, &#8216;Gedit plugin should be full menu rather than a part of &#8220;tools&#8221;&#8216;</li>
<li>Fixed some issues with older version of Gedit (r2425)</li>
<li>Bug #325, &#8216;Make sure a window exists before updating it.&#8217;</li>
</ul>
<p><strong>Homepage:</strong><br />
<a href="http://www.rabbitvcs.org/" target="_blank">http://www.rabbitvcs.org</a></p>
<p><strong>Download RabbitVCS v0.13.2 at:</strong><br />
<a href="http://wiki.rabbitvcs.org/wiki/download" target="_blank">http://wiki.rabbitvcs.org/wiki/download</a></p>
<p>Note: Distribution packages and our PPA will be updated within a day or  two.</p>
<p><strong>Issue Tracker:</strong><br />
<a href="http://code.google.com/p/rabbitvcs/issues/list" target="_blank">http://code.google.com/p/rabbitvcs/issues/list</a></p>
<p>A big thanks and a great job to everyone on the team and everyone who<br />
contributed to this release!<br />
<span style="color: #888888;"><br />
Adam</span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabbitvcs.org/archives/234/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Performance Anxiety</title>
		<link>http://blog.rabbitvcs.org/archives/164</link>
		<comments>http://blog.rabbitvcs.org/archives/164#comments</comments>
		<pubDate>Sun, 02 May 2010 11:11:26 +0000</pubDate>
		<dc:creator>Jason Heeris</dc:creator>
				<category><![CDATA[Status Update]]></category>

		<guid isPermaLink="false">http://blog.rabbitvcs.org/?p=164</guid>
		<description><![CDATA[I&#8217;ve wanted to write something about our performance problems for a while now. It&#8217;s a long standing issue, and something that is a real showstopper for some users. I&#8217;ve written this for two reasons: firstly, to tell our users why we haven&#8217;t &#8220;just fixed it&#8221; yet; secondly, so that other/future developers can get an idea [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>I&#8217;ve wanted to write something about our performance problems for a while now. It&#8217;s a long standing issue, and something that is a real showstopper for some users. I&#8217;ve written this for two reasons: firstly, to tell our users why we haven&#8217;t &#8220;just fixed it&#8221; yet; secondly, so that other/future developers can get an idea of the WHY of the architecture and not just the HOW.</p>
<p><span id="more-164"></span></p>
<p>One of the oldest issues on the RabbitVCS issue tracker is <a title="Inadequate (sub-par) performance" href="http://code.google.com/p/rabbitvcs/issues/detail?id=4">issue number 4</a> — &#8220;Inadequate (sub-par) performance.&#8221; Hurtful, hurtful words, but ultimately true. The basic problem is that for small working copies, our extension works great. Once you get above about 50,000 items though, things really&#8230;</p>
<p>&#8230;Slow</p>
<p>&#8230;Down.</p>
<p>When you try to open up a folder with many version controlled children, Nautilus locks up. It is completely unrepsonsive until almost all the emblems are populated and — as much as I hate to say it — this renders RabbitVCS a little bit useless. Basically, we&#8217;re taking the I out of GUI.</p>
<p>Worst of all, it makes our &#8220;clever play on the word Tortoise&#8221; into a terrible, terrible irony.</p>
<h3>What Performance Problems?</h3>
<p>One of the first things  to understand is that performance is not actually the issue here. This may sound a little strange, but think about it: when our users say they want better performance, what they really seem to mean is that they want Nautilus to stay responsive. To put it another way, given the choice between:</p>
<ol>
<li>Entering a versioned directory and waiting 1 minute for all the emblems to display correctly <strong>BUT</strong> have Nautilus lock up for the whole time; and</li>
<li>Entering a versioned directory and waiting 1 minute 20 seconds for all the emblems to display, but still being able to use Nautilus</li>
</ol>
<p>…most users really seem to want (2), even though techincally (1) is the &#8220;better performance&#8221; option. Of course, if it were 20 minutes instead of one then yes, we&#8217;d have a problem. But that&#8217;s not what we&#8217;re experiencing at all. Status checks take the same amount of time, no matter what we do, no matter what language we use, no matter what the phase of the moon is. The call to vsc_client.status(path) will always always be our performance floor.</p>
<p>Now this might seem like minor semantic bickering — performance, responsiveness, who cares what you call it? But how you state a problem has a huge influence on how you deal with it (and how patient people are with your efforts&#8230;). Calling it a performance problem immediately implies a certain kind of solution, and causes well-meaning users to suggest things like <a href="http://code.google.com/p/rabbitvcs/issues/detail?id=111">JIT compilers</a> and optimisers (bah), or rewriting in C (go on then). But if you stop obsessing over performance for five seconds, the solution becomes a little clearer. As Bruce and Jason (Field) realised, as soon as a Nautilus extension becomes non-trivial you need to start looking at how to do things asynchronously.</p>
<p>The simple story is:</p>
<ol>
<li>Nautilus calls all of its Python extensions. They are all called in the same thread, and no other threading is permitted.</li>
<li>The Python extensions do their thing and return.</li>
<li>Nautilus displays the results.</li>
</ol>
<p>So if step #2 takes minutes to complete, Nautilus is frozen waiting for a function call to return. That&#8217;s our problem.</p>
<p><span style="font-weight: normal;">Doing things in the background isn&#8217;t all that trivial though. For example, some users have suggested using threads to do things asynchronously. But threading is <a href="http://mail.gnome.org/archives/nautilus-list/2009-August/msg00002.html">not permitted</a> in Nautilus Python extensions, and so either the module will hang or just fail to run (depending on the direction of the local magnetic field). The next logical step is to use a separate process for the heavy lifting, so we have something like:</span></p>
<ol>
<li>Nautilus calls all of its Python extensions.</li>
<li>The RabbitVCS extension calls a status checker service running in the background.</li>
<li>The status cache service should return immediately with either the real status or some indication that it will calculate the status (those cute little clock emblems).</li>
<li>The status is calculated.</li>
<li>The background service tells our extension when the status is calculated.</li>
<li>The extension tells Nautilus to invalidate the information for that path. This triggers another check, but now we have the status!</li>
<li>Profit.</li>
</ol>
<p>This is what we&#8217;ve achieved so far for doing the emblems. We use DBUS to communicate with a <a href="http://code.google.com/p/rabbitvcs/source/browse/trunk/rabbitvcs/services/checkerservice.py">background service</a> that is automatically started on demand — we could have simple used a self-contained subprocess, but a DBUS service means that the other parts of RabbitVCS can access it too.</p>
<h3>Diversions</h3>
<p>The transition to DBUS was not as easy as it sounds. When we first moved things out to a DBUS controlled &#8220;subprocess,&#8221; we didn&#8217;t notice any improvement. This was because the Subversion bindings we use also prevent threading, and we were trying to intersperse status checks with status requests. This lead to me implementing a hideously complicated system of another layer of subprocesses to solve this. Really, we should have been using DBUS&#8217; in-built asynchronous calling system to simplify things, which I finally got around to figuring out <a href="http://code.google.com/p/rabbitvcs/source/detail?r=2484">last week</a>.</p>
<p>Another upshot of all this was what I learned about profiling. One of the most frustrating things for me was just how difficult it was to get a decent picture of what was taking so long in the first place. Profiling (in Python or otherwise) is an arcane art — unless you have a single process with a single thread, you&#8217;re going to get some mysterious results. The things that cause the most problems are thread synchronisation mechanisms, and if you&#8217;re lucky they&#8217;ll show up as huuuuuuge blocks of time spent waiting on a locking function. If you&#8217;re unlucky, you might as well throw darts at a stack trace. (Protip: print it out first.)</p>
<p>This isn&#8217;t a fundamental flaw with Python. But I was frustrated because the Python profiling tools aren&#8217;t designed to work on individual sections of the code. The most infuriating comment from <a href="http://pound-python.org/">#python</a> regarding this was &#8220;which part of all this is cProfile.run(&#8216;foo()&#8217;) ?&#8221; <strong>It&#8217;s a freaking embedded module inside a C extension API, not a shell script!</strong> Eventually I found a way to <a href="http://stackoverflow.com/questions/1584425/return-value-while-using-cprofile">get a return value from cProfile</a> so that I can profile the functions that Nautilus calls under normal use. (Of course, the good thing about subjecting yourself to #python is that the inhabitants do help you live up to the general Python philosophy of &#8220;if it seems harder than it should be, you&#8217;re doing it wrong, or possibly you&#8217;re an idiot with unsalvageable code; but let&#8217;s work on the other thing first.&#8221; I should have used DBUS properly from the start, and I should have remembered that it&#8217;s very rare for Python/C bindings to allow threading.)</p>
<h3><strong>So Close&#8230;</strong></h3>
<p>We&#8217;re now at the point where status emblems have almost no noticeable impact on Nautilus&#8217; behaviour. Fantastic! So if we open up a test repository (in my case, sections 0-9 and A-D of the official Debian repository), Nautilus should just sit back and relax while waiting for everything to haaaaaappeeeeeeeeeoh the humanity it&#8217;s still freaking slow.</p>
<p>Here&#8217;s the problem: I forgot about the menus. Whenever Nautilus enters a new directory, it requests the menu items for the directory (&#8220;get_background_items&#8221;). This requires a status check, which yes indeed has to happen in the extension code. Nuts.</p>
<p>So why don&#8217;t we just do the same thing? Load up a menu that says <em>&#8220;Please wait, loading&#8230;&#8221;</em> and then use a callback to populate the menu? It&#8217;s a great idea, and the Nautilus extension API even has such a function: &#8220;nautilus_menu_provider_emit_items_updated_signal&#8221; which <a href="http://mail.gnome.org/archives/nautilus-list/2010-April/msg00013.html">does exactly what it says</a> on the box. Alas, the problem is with the Nautilus/Python bindings, which don&#8217;t allow us to use this method! The Nautilus/Python bindings have some real quirks in them, and it&#8217;s no trivial matter to simply pass Python objects and C interfaces around and expect things to work.</p>
<p>On the bright side, the Nautilus/Python bindings are now in the hands of Adam himself. It&#8217;s not always the case that cross-language bindings are in the hands of someone who uses them heavily enough to come up against constraints like this, so we&#8217;re at an advantage there. Adam has been hacking away to get the bindings to cover what we need, and while it&#8217;s not an easy task, it is certainly doable and should have some pretty good benefits even besides the menu signal. For example, once the proper Nautilus &#8220;update_file_info&#8221; callbacks are available, we can clean up a lot of hacky code and workarounds in the extension (possibly fixing a mysterious memory leak too).</p>
<p>I don&#8217;t want to promise anything too soon, but I <strong>do</strong> want to emphasise the fact that we are working on it, with an actual plan and everything! Keep your eye on <a href="http://code.google.com/p/rabbitvcs/issues/detail?id=4">issue #4</a>, and if you&#8217;re a developer (or feeling brave), there will be a related branch in the repository soon. When we&#8217;ve got the code sufficiently functional, we&#8217;ll also release some packages for testing. So if you&#8217;re one of our users who has had to drop RabbitVCS because of performance problems, please hang in there — we are working on it, and it won&#8217;t be long now before we&#8217;ll be asking for all the real-world testing we can get.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabbitvcs.org/archives/164/feed</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>RabbitVCS 0.13.1 Debian/Ubuntu Packages Released!</title>
		<link>http://blog.rabbitvcs.org/archives/218</link>
		<comments>http://blog.rabbitvcs.org/archives/218#comments</comments>
		<pubDate>Sun, 04 Apr 2010 09:24:01 +0000</pubDate>
		<dc:creator>Jason Heeris</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://blog.rabbitvcs.org/?p=218</guid>
		<description><![CDATA[I&#8217;m pleased to announce that I&#8217;ve (finally) finished packaging RabbitVCS 0.13.1 for Debian and Ubuntu! As always, the best way to obtain it is by adding our PPA to your software sources — follow the instructions there for your particular distribution. If you download it from the Google Code downloads page, note that there is a [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m pleased to announce that I&#8217;ve (finally) finished packaging RabbitVCS 0.13.1 for Debian and Ubuntu! As always, the best way to obtain it is by adding <a title="RabbitVCS PPA" href="https://launchpad.net/~rabbitvcs/+archive/ppa/">our PPA</a> to your software sources — follow the instructions there for your particular distribution. If you download it from the <a title="RabbitVCS Google Code downloads" href="http://code.google.com/p/rabbitvcs/downloads/list">Google Code downloads page</a>, note that there is a different core package depending on what distribution you use, but the other components should be the same from Ubuntu Hardy to Lucid and Debian Squeeze and Sid.</p>
<p>Remember:</p>
<ul>
<li>you still need to install the core and an appropriate extension, eg. rabbitvcs-core and rabbitvcs-nautilus for the Nautilus extension.</li>
<li>Nautilus users should restart Nautilus or log out and back in for the new extension to be loaded</li>
</ul>
<p>If there are any problems at all, please send an email to the <a title="RabbitVCS discussion list" href="mailto:rabbitvcs@googlegroups.com">general discussion list</a> or file an issue with the <a title="RabbitVCS Google Code issue tracker" href="http://code.google.com/p/rabbitvcs/issues/list">Google Code issue tracker</a>.</p>
<h3>What Took So Long?</h3>
<p>The dedicated amongst you <em>may</em> have noticed that I took an entire week getting this packaged and released. Well, the problem was that with 0.13, we decided to split out our upstream tarball to make it easier for users to install only what they need. However, we soon realised that:</p>
<ol>
<li>99% of the tarball was taken up by the core, and</li>
<li>we never really change the core or extensions independently anyway, and</li>
<li>it&#8217;s a <a title="Jason's whinge" href="http://code.google.com/p/rabbitvcs/issues/detail?id=289">bloody</a> <a title="Jason's whinge v2.0" href="https://answers.launchpad.net/soyuz/+question/102724">pain</a></li>
</ol>
<p>…so there wasn&#8217;t really any great gain to be had from that. In 0.13.1 we changed back to having a single &#8220;upstream&#8221; tarball, but still wanted to split out the various extensions and it was this detail that took me a while to figure out. From now on the tarball and the packages should be released at the same time.</p>
<h3>RabbitVCS now in Debian</h3>
<p>In other news, RabbitVCS has been accepted into the <a title="Debian package search" href="http://packages.debian.org/search?keywords=rabbitvcs">official Debian distribution</a>. Debian users have the choice of using our PPA (I recommend following Lucid if you do), or simply waiting the extra 10 days for it to trickle into the testing distro (unless you use Sid, of course). One upshot of this is that it&#8217;s likely it will now make its way into the official Ubuntu repos too. Both of these events will make it much easier for new users of Debian and Ubuntu to find RabbitVCS.</p>
<p>As an aside, getting RabbitVCS into Debian was the reason I first got involved with this project in the first place, so it&#8217;s nice for me that it&#8217;s finally happened :)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabbitvcs.org/archives/218/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Update to Release Announcement for RabbitVCS v0.13.1</title>
		<link>http://blog.rabbitvcs.org/archives/214</link>
		<comments>http://blog.rabbitvcs.org/archives/214#comments</comments>
		<pubDate>Sat, 27 Mar 2010 09:29:24 +0000</pubDate>
		<dc:creator>Jason Heeris</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://blog.rabbitvcs.org/?p=214</guid>
		<description><![CDATA[Sincere apologies to everyone! The package we uploaded still had some mixups in it from some restructuring we did. I&#8217;ve replaced the download on the Google Code project site, but beware that many web browsers can be rather aggressive in their caching of large files, so please check the file hash if you have any problems. I&#8217;m working on [...]]]></description>
			<content:encoded><![CDATA[<p>Sincere apologies to everyone! The package we uploaded still had some mixups in it from some restructuring we did. I&#8217;ve replaced the <a href="http://code.google.com/p/rabbitvcs/downloads/detail?name=rabbitvcs-0.13.1.tar.gz">download</a> on the Google Code project site, but beware that many web browsers can be rather aggressive in their caching of large files, so please check the file hash if you have any problems.</p>
<p>I&#8217;m working on the debs too :)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabbitvcs.org/archives/214/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Release Announcement for RabbitVCS v0.13.1!</title>
		<link>http://blog.rabbitvcs.org/archives/210</link>
		<comments>http://blog.rabbitvcs.org/archives/210#comments</comments>
		<pubDate>Fri, 26 Mar 2010 15:58:01 +0000</pubDate>
		<dc:creator>Adam Plumb</dc:creator>
				<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://blog.rabbitvcs.org/?p=210</guid>
		<description><![CDATA[Today we are releasing the first point release in the RabbitVCS v0.13 branch, tagged as v0.13.1  As this is a point release, it contains mostly bug fixes and updated translations. Changes in RabbitVCS: Fixed the merge tool so it actually works Fixed the Create Patch dialog so it actually works Jason&#8217;s awesome new property editor! [...]]]></description>
			<content:encoded><![CDATA[<p>Today we are releasing the first point release in the RabbitVCS v0.13  branch, tagged as v0.13.1  As this is a point release, it contains  mostly bug fixes and updated translations.</p>
<p>Changes in RabbitVCS:</p>
<ul>
<li> Fixed the merge tool so it actually works</li>
<li>Fixed the Create Patch dialog so it actually works</li>
<li>Jason&#8217;s awesome new property editor!</li>
<li>Removed help item from context menus</li>
<li>Show the revision after a commit</li>
<li>Mask the password in the Cert Authentication dialog</li>
<li>Commits are now done non-recursively, so child files will not be  committed if not checked.</li>
<li>Many other bugfixes</li>
</ul>
<p>Changes in RabbitVCS-nautilus:</p>
<ul>
<li>Fixed bug where clock emblem is shown forever</li>
</ul>
<p>Changes in RabbitVCS-thunar:</p>
<ul>
<li> Menu item icons in thunar (&lt;= 1.01) will now show up</li>
</ul>
<p>Changes in RabbitVCS-nautilusold:</p>
<ul>
<li> Multiple fixes to get extension working in CentOS and older distros</li>
<li>Added the Repository Browser menu item</li>
</ul>
<p>Changes in RabbitVCS-gedit:</p>
<ul>
<li> Fix exception when context menu is activated</li>
<li>Fix bug where dialogs don&#8217;t show up</li>
</ul>
<p><strong>Homepage:</strong><br />
<a href="http://www.rabbitvcs.org/">http://www.rabbitvcs.org</a></p>
<p><strong>Download RabbitVCS v0.13.1 at:</strong><br />
<a href="http://wiki.rabbitvcs.org/wiki/download">http://wiki.rabbitvcs.org/wiki/download</a></p>
<blockquote><p>Note: We are releasing a single tarball archive now, instead of a  core tarball and one for each client.  This should allow for simpler  packaging and installation.</p>
<p>Note2: Distribution packages and our PPA will be updated within a day  or two.</p></blockquote>
<p><strong>Issue Tracker:</strong><br />
<a href="http://code.google.com/p/rabbitvcs/issues/list">http://code.google.com/p/rabbitvcs/issues/list</a></p>
<p>A big thanks and a great job to everyone on the team and everyone who  contributed to this release!</p>
<p>Adam</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabbitvcs.org/archives/210/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Respite for Fedora 64 bit users</title>
		<link>http://blog.rabbitvcs.org/archives/207</link>
		<comments>http://blog.rabbitvcs.org/archives/207#comments</comments>
		<pubDate>Mon, 01 Mar 2010 15:00:44 +0000</pubDate>
		<dc:creator>Adam Plumb</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://blog.rabbitvcs.org/?p=207</guid>
		<description><![CDATA[A long standing bug in nautilus-python has caused problems for Fedora 64 bit users (and others) wanting to use RabbitVCS.  When nautilus-python is loaded, it loads the python shared object library that is in /usr/lib.  However, some 64 bit distributions put their python library in /usr/lib64, and nautilus-python isn&#8217;t smart enough to deal with this [...]]]></description>
			<content:encoded><![CDATA[<p>A long standing bug in nautilus-python has caused problems for Fedora 64 bit users (and others) wanting to use RabbitVCS.  When nautilus-python is loaded, it loads the python shared object library that is in /usr/lib.  However, some 64 bit distributions put their python library in /usr/lib64, and nautilus-python isn&#8217;t smart enough to deal with this correctly.</p>
<p>This was actually fixed in the recently released nautilus-python 0.6 series, but existing distributions will generally not upgrade to major new releases (0.5 to 0.6), so the fix would only apply to new distribution releases.  Fortunately, there has just been a new nautilus-python release in the 0.5 series (0.5.2) which fixes this bug and a few others, and I believe Fedora will upgrade to it, making it available for all users.</p>
<p>Once the nautilus-python Fedora package is upgraded, we will release a 64 bit RPM for RabbitVCS.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabbitvcs.org/archives/207/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Release announcement for RabbitVCS v0.13!</title>
		<link>http://blog.rabbitvcs.org/archives/198</link>
		<comments>http://blog.rabbitvcs.org/archives/198#comments</comments>
		<pubDate>Wed, 10 Feb 2010 14:19:07 +0000</pubDate>
		<dc:creator>Adam Plumb</dc:creator>
				<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://blog.rabbitvcs.org/?p=198</guid>
		<description><![CDATA[The result of several months of hard work is coming to fruition today as we release RabbitVCS v0.13!  This release brings about some pretty important changes to not just RabbitVCS itself, but also to how we distribute and think of RabbitVCS.  Indeed, one of our early goals with this project was to not be tied [...]]]></description>
			<content:encoded><![CDATA[<p>The result of several months of hard work is coming to fruition today as we release RabbitVCS v0.13!  This release brings about some pretty important changes to not just RabbitVCS itself, but also to how we distribute and think of RabbitVCS.  Indeed, one of our early goals with this project was to not be tied to one file manager, or even to be tied to any file managers.  And I believe we are starting to see the fruits of that ambition in the v0.13 release.  Not only do we have a new and improved Nautilus extension, but this release also introduces a Thunar extension, a Gedit extension, and an improved command line tool.</p>
<p>Changes in RabbitVCS since v0.13 beta:</p>
<ul>
<li>(r2240) Fixed exception in Gedit client after activation</li>
<li>(r2241) Checkout should be more flexible with the arguments it accepts</li>
<li>(r2242) Make sure dialog responses line up with expectations</li>
<li>(r2260) A different signal is required for gtk submenus</li>
<li>(2261) Applied patch from sipych to fix multi-byte char sequences in the log dialog</li>
<li>Some code cleanup and miscellaneous</li>
</ul>
<p>Changes in RabbitVCS since v0.12:</p>
<ul>
<li>Improved context menus and selection functionality in most dialogs</li>
<li>Massive overhaul in generating context menus</li>
<li>Added a &#8220;Changes&#8221; dialog to view changes between revisions</li>
<li>Added a &#8220;Check for Modifications&#8221; dialog to check for remote changes</li>
<li>Added a repository browser</li>
<li>All text views will provide a spell checker (if gtk.spell is installed)</li>
<li>All tree views for files will show icons next to the file name</li>
<li>Improved Diff/Compare functionality</li>
<li>Modified the Properties dialog to allow editing revision properties</li>
<li>Added functionality to the Annotate dialog to export to a file</li>
<li>Countless bug-fixes and small improvements</li>
</ul>
<p>Changes in RabbitVCS-Nautilus since v0.12:</p>
<ul>
<li>Improved status checking and emblem support, should be much faster now</li>
<li>Added a Property Page</li>
</ul>
<p>Changes in RabbitVCS-CLI since v0.12:</p>
<ul>
<li>Improved the handling of arguments.  Type &#8220;rabbitvcs -h&#8221; to get help or &#8220;rabbitvcs &lt;module&gt; -h&#8221; to get help.</li>
</ul>
<p>Addition of RabbitVCS-Thunar:</p>
<ul>
<li>Adds the RabbitVCS context menu and a property page to the Thunar file manager.  This requires the new thunarx-python bindings, which are available from our downloads section.</li>
</ul>
<p>Addition of RabbitVCS-Gedit:</p>
<ul>
<li>Adds the RabbitVCS menu to the main menubar and adds menu items to each source views&#8217; context menus.</li>
</ul>
<p>Addition of RabbitVCS-NautilusOld:</p>
<ul>
<li>Provides an extension that is compatible with older versions of Nautilus (&lt; 2.22).</li>
</ul>
<p><strong>Homepage:</strong><br />
<a href="http://www.rabbitvcs.org/" target="_blank">http://www.rabbitvcs.org</a></p>
<p><strong>Download RabbitVCS v0.13 at:</strong><br />
<a href="http://wiki.rabbitvcs.org/wiki/download" target="_blank">http://wiki.rabbitvcs.org/wiki/download</a></p>
<blockquote><p><em>Note</em>: You will have to download the rabbitvcs core files (rabbitvcs-core-0.13.tar.gz) as well as the front-end-specific tarball (i.e. rabbitvcs-nautilus-0.13.tar.gz).</p>
<p><em>Note 2</em>: Our Ubuntu packages no longer support Hardy (8.04), so users should either upgrade or use the tarballs for installation.</p></blockquote>
<div id=":12x">
<div><strong>Issue Tracker:</strong><br />
<a href="http://code.google.com/p/rabbitvcs/issues/list" target="_blank">http://code.google.com/p/rabbitvcs/issues/list</a></div>
<div>
<p>Big thanks and a great job to everyone on the team and everyone who contributed to this release!</p>
<p>Adam Plumb<br />
The RabbitVCS Team</p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabbitvcs.org/archives/198/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>What version control systems are most important to you?</title>
		<link>http://blog.rabbitvcs.org/archives/190</link>
		<comments>http://blog.rabbitvcs.org/archives/190#comments</comments>
		<pubDate>Sat, 30 Jan 2010 22:38:01 +0000</pubDate>
		<dc:creator>Adam Plumb</dc:creator>
				<category><![CDATA[Community]]></category>

		<guid isPermaLink="false">http://blog.rabbitvcs.org/?p=190</guid>
		<description><![CDATA[Although we are still finishing up our v0.13 release, our next big development push is adding support for Git and other version control systems to RabbitVCS.  But before we do that, I thought it would be nice to get an idea of what people are using on a day to day basis.  This poll allows [...]]]></description>
			<content:encoded><![CDATA[<p>Although we are still finishing up our v0.13 release, our next big development push is adding support for Git and other version control systems to RabbitVCS.  But before we do that, I thought it would be nice to get an idea of what people are using on a day to day basis.  This poll allows you to select up to three options, so please do so and tell us what you&#8217;d like to see us support.</p>
Note: There is a poll embedded within this post, please visit the site to participate in this post's poll.
]]></content:encoded>
			<wfw:commentRss>http://blog.rabbitvcs.org/archives/190/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Release announcement for RabbitVCS v0.13 Beta!</title>
		<link>http://blog.rabbitvcs.org/archives/187</link>
		<comments>http://blog.rabbitvcs.org/archives/187#comments</comments>
		<pubDate>Fri, 29 Jan 2010 15:47:54 +0000</pubDate>
		<dc:creator>Adam Plumb</dc:creator>
				<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://blog.rabbitvcs.org/?p=187</guid>
		<description><![CDATA[After approximately four months of development, the RabbitVCS v0.13 branch is ready for regular people to start testing and abusing.  This release brings about some pretty important changes to not just RabbitVCS itself, but also to how we distribute and think of RabbitVCS.  Indeed, one of our early goals with this project was to not [...]]]></description>
			<content:encoded><![CDATA[<p>After approximately four months of development, the RabbitVCS v0.13 branch is ready for regular people to start testing and abusing.  This release brings about some pretty important changes to not just RabbitVCS itself, but also to how we distribute and think of RabbitVCS.  Indeed, one of our early goals with this project was to not be tied to one file manager, or even to be tied to any file managers.  And I believe we are starting to see the fruits of that ambition in this first beta release.  Not only do we have a new and improved Nautilus extension, but this release also introduces a Thunar extension, a Gedit extension, and an improved command line tool.</p>
<p>As this is a beta release, you should expect bugs and other issues to crop up, not only with the program, but also with our new packaging system which separates our front-ends (extensions) from the core.  We expect to have distribution-specific packages ready this weekend, but you can start testing with the tarballs that have been released.</p>
<p>Changes in RabbitVCS since v0.12:</p>
<ul>
<li> Improved context menus and selection functionality in most dialogs</li>
<li>Massive overhaul in generating context menus</li>
<li>Added a &#8220;Changes&#8221; dialog to view changes between revisions</li>
<li>Added a &#8220;Check for Modifications&#8221; dialog to check for remote changes</li>
<li>Added a repository browser</li>
<li>All text views will provide a spell checker (if gtk.spell is installed)</li>
<li>All tree views for files will show icons next to the file name</li>
<li>Improved Diff/Compare functionality</li>
<li>Modified the Properties dialog to allow editing revision properties</li>
<li>Added functionality to the Annotate dialog to export to a file</li>
<li>Countless bug-fixes and small improvements</li>
</ul>
<p>Changes in RabbitVCS-Nautilus since v0.12:</p>
<ul>
<li>Improved status checking and emblem support, should be much faster now</li>
<li>Added a Property Page</li>
</ul>
<p>Changes in RabbitVCS-CLI since v0.12:</p>
<ul>
<li> Improved the handling of arguments.  Type &#8220;rabbitvcs -h&#8221; to get help or &#8220;rabbitvcs &lt;module&gt; -h&#8221; to get help.</li>
</ul>
<p>Addition of RabbitVCS-Thunar:</p>
<ul>
<li> Adds the RabbitVCS context menu and a property page to the Thunar file manager.  This requires the new thunarx-python bindings, which are available from our downloads section.</li>
</ul>
<p>Addition of RabbitVCS-Gedit:</p>
<ul>
<li> Adds the RabbitVCS menu to the main menubar and adds menu items to each source views&#8217; context menus.</li>
</ul>
<p>Addition of RabbitVCS-NautilusOld:</p>
<ul>
<li> Provides an extension that is compatible with older versions of Nautilus (&lt; 2.22).</li>
</ul>
<p><strong>Homepage:</strong><br />
<a href="http://www.rabbitvcs.org">http://www.rabbitvcs.org</a></p>
<p><strong>Download RabbitVCS v0.13 Beta at:</strong><br />
<a href="http://wiki.rabbitvcs.org/wiki/download/beta">http://wiki.rabbitvcs.org/wiki/download/beta</a></p>
<p><strong>Update:</strong> We have Ubuntu/Debian packages available for the beta now in our downloads section.</p>
<p><strong>Issue Tracker:</strong><br />
<a href="http://code.google.com/p/rabbitvcs/issues/list">http://code.google.com/p/rabbitvcs/issues/list</a></p>
<p>Big thanks and a great job to everyone on the team and everyone who contributed to this beta release!</p>
<p>Adam Plumb<br />
The RabbitVCS Team</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabbitvcs.org/archives/187/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>
