<?xml version="1.0"?>
<rss version="2.0.">
  <channel>
    <title>Advogato blog for ctrlsoft</title>
    <link>http://www.advogato.org/person/ctrlsoft/</link>
    <description>Advogato blog for ctrlsoft</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Sun, 6 Jul 2008 23:18:53 GMT</pubDate>
    <item>
      <pubDate>Tue, 1 Jul 2008 01:04:40 GMT</pubDate>
      <title>bzr-svn push without file properties</title>
      <link>http://www.advogato.org/person/ctrlsoft/diary.html?start=58</link>
      <guid>http://jelmer.vernstok.nl/blog/archives/219-bzr-svn-push-without-file-properties.html</guid>
      <description>
    &lt;p&gt;Ever since bzr-svn started supporting &amp;quot;true push&amp;quot;, people have been complaining about the extra file properties it sets.&lt;/p&gt;

&lt;p&gt;The key thing about &amp;quot;true&amp;quot; push is that it preserves the exact revisions that were present in Subversion. This lets bzr behave on Subversion branches transparently using the same UI you also use for &amp;quot;native&amp;quot; Bazaar branches.&lt;/p&gt;

&lt;p&gt;In other words, if I push to a Subversion branch from my machine, then that branch in Subversion contains enough information for somebody else to reconstruct the exact bzr branch I had.&lt;/p&gt;

&lt;p&gt;Since some Bazaar metadata can not be represented in Subversion, it is stored in Bazaar-specific Subversion properties. Unfortunately, these file properties show up in email commit notifications and &lt;a href="http://trac.edgewall.org/" onclick="window.open(this.href, '_blank'); return false;" &gt;trac&lt;/a&gt; and so they tend to annoy people.&lt;/p&gt;

&lt;p&gt;There are two ways around this:&lt;/p&gt;


&lt;ul&gt;
    &lt;li&gt;Revision properties&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bazaar-specific metadata can be stored in in custom Subversion revision properties (these don't show up in commit notifications). Unfortunately, this requires Subversion 1.5 or newer to run on the server.&lt;/p&gt;

&lt;p&gt;I hope to start setting revision properties instead of file properties when possible as of the next bzr-svn release.&lt;/p&gt;


&lt;ul&gt;
    &lt;li&gt;less strict push&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's also possible to throw away any data that can not be represented in Subversion. Since this means that the remote branch won't end up an exact same copy of the local revisions, this isn't true push. The two branches will have diverged (no matter how slightly) after such a push so it is necessary to rebase on the remote branch after pushing.&lt;/p&gt;

&lt;p&gt;This is similar to the way git-svn pushes data into Subversion - it calls it &amp;quot;dcommit&amp;quot;.&lt;/p&gt;

&lt;p&gt;Since this uses rebase it has the usual disadvantages of rebases, which I won't get into right now.&lt;/p&gt;

&lt;p&gt;As of a couple of days ago, bzr-svn now also supports this mode of pushing using the &amp;quot;dpush&amp;quot; command, by popular demand.&lt;/p&gt;

 
    </description>
    </item>
    <item>
      <pubDate>Tue, 1 Jul 2008 01:04:40 GMT</pubDate>
      <title>bzr-svn push without file properties</title>
      <link>http://www.advogato.org/person/ctrlsoft/diary.html?start=57</link>
      <guid>http://jelmer.vernstok.nl/blog/archives/220-bzr-svn-push-without-file-properties.html</guid>
      <description>
    &lt;p&gt;Ever since bzr-svn started supporting &amp;quot;true push&amp;quot;, people have been complaining about the extra file properties it sets.&lt;/p&gt;

&lt;p&gt;The key thing about &amp;quot;true&amp;quot; push is that it preserves the exact revisions that were present in Subversion. This lets bzr behave on Subversion branches transparently using the same UI you also use for &amp;quot;native&amp;quot; Bazaar branches.&lt;/p&gt;

&lt;p&gt;In other words, if I push to a Subversion branch from my machine, then that branch in Subversion contains enough information for somebody else to reconstruct the exact bzr branch I had.&lt;/p&gt;

&lt;p&gt;Since some Bazaar metadata can not be represented in Subversion, it is stored in Bazaar-specific Subversion properties. Unfortunately, these file properties show up in email commit notifications and &lt;a href="http://trac.edgewall.org/" onclick="window.open(this.href, '_blank'); return false;" &gt;trac&lt;/a&gt; and so they tend to annoy people.&lt;/p&gt;

&lt;p&gt;There are two ways around this:&lt;/p&gt;


&lt;ul&gt;
    &lt;li&gt;Revision properties&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bazaar-specific metadata can be stored in in custom Subversion revision properties (these don't show up in commit notifications). Unfortunately, this requires Subversion 1.5 or newer to run on the server.&lt;/p&gt;

&lt;p&gt;I hope to start setting revision properties instead of file properties when possible as of the next bzr-svn release.&lt;/p&gt;


&lt;ul&gt;
    &lt;li&gt;less strict push&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's also possible to throw away any data that can not be represented in Subversion. Since this means that the remote branch won't end up an exact same copy of the local revisions, this isn't true push. The two branches will have diverged (no matter how slightly) after such a push so it is necessary to rebase on the remote branch after pushing.&lt;/p&gt;

&lt;p&gt;This is similar to the way git-svn pushes data into Subversion - it calls it &amp;quot;dcommit&amp;quot;.&lt;/p&gt;

&lt;p&gt;Since this uses rebase it has the usual disadvantages of rebases, which I won't get into right now.&lt;/p&gt;

&lt;p&gt;As of a couple of days ago, bzr-svn now also supports this mode of pushing using the &amp;quot;dpush&amp;quot; command, by popular demand.&lt;/p&gt;

&lt;p&gt;cp: Brandi Carlile - The Story&lt;/p&gt;

 
    </description>
    </item>
    <item>
      <pubDate>Sun, 22 Jun 2008 19:05:15 GMT</pubDate>
      <title>bzr-svn: now with its own Subversion Python bindings</title>
      <link>http://www.advogato.org/person/ctrlsoft/diary.html?start=56</link>
      <guid>http://jelmer.vernstok.nl/blog/archives/218-bzr-svn-now-with-its-own-Subversion-Python-bindings.html</guid>
      <description>
    &lt;p&gt;&lt;a href="http://bazaar-vcs.org/BzrSvn" onclick="window.open(this.href, '_blank'); return false;" &gt;bzr-svn&lt;/a&gt; has always been using the standard Python bindings that were provided with Subversion itself. Unfortunately, I had to fix some issues in these bindings since they were incomplete or broken and thus bzr-svn has always depended on a development snapshot of Subversion.&lt;/p&gt;

&lt;p&gt;As of today, bzr-svn is using its own Python bindings for Subversion.&lt;/p&gt;

&lt;p&gt;There were several reasons for switching to our own bindings:&lt;/p&gt;


&lt;ul&gt;
    &lt;li&gt;There are no requirements for backwards compatibility within bzr-svn. This means the API can be made sane without worrying about the mess it was in the past and users who still rely on that.&lt;/li&gt;
    &lt;li&gt;Deployment. It took 2 years for my fixes to the Subversion Python bindings to be part of a release. It'll be even longer before Subversion 1.5 makes it into most available distributions. That makes it very hard to just download and install bzr-svn.&lt;/li&gt;
    &lt;li&gt;They're in plain C, not SWIG. SWIG has a big advantage for the Subversion folks since it can generate python, ruby, java or tcl bindings all at once without a lot of overhead per language. However, it has issues as well that make it a bad choice for bzr-svn.&lt;ul&gt;
        &lt;li&gt;It generates inefficient code - it generates proxy classes that &lt;/li&gt;
        &lt;li&gt;Bindings tend to be very much like the C API rather than &amp;quot;Pythonic&amp;quot;. To make them more Pythonic, you need tons of typemaps. For example, the Python bindings in bzr-svn provide an iterator when browsing the revision history rather than a callback as C and the SWIG bindings do.&lt;/li&gt;
        &lt;li&gt;Hard to write - personally at least, I write bindings in C faster than in SWIG&lt;/li&gt;
        &lt;li&gt;Adds an extra dependency to the build process. Several people had trouble building Subversion on their Mac machines because they didn't have the right version of SWIG available.&lt;/li&gt;
    &lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Since all of the patches that bzr-svn depended on previously were in the Python bindings for Subversion, it is now possible to use bzr-svn with any version of Subversion newer than 1.4.0. Of course, you do need to have the development headers installed as well.&lt;/p&gt;

&lt;p&gt;cp: Kathleen Edwards - Independent Thief&lt;/p&gt;

 
    </description>
    </item>
    <item>
      <pubDate>Thu, 19 Jun 2008 17:04:52 GMT</pubDate>
      <title>Bazaar in the GNOME world</title>
      <link>http://www.advogato.org/person/ctrlsoft/diary.html?start=55</link>
      <guid>http://jelmer.vernstok.nl/blog/archives/217-Bazaar-in-the-GNOME-world.html</guid>
      <description>
    &lt;p&gt;I was happy to see that &lt;a href="http://blogs.gnome.org/johncarr" onclick="window.open(this.href, '_blank'); return false;" &gt;John Carr&lt;/a&gt; has set up a &lt;a href="http://bzr-mirror.gnome.org/" onclick="window.open(this.href, '_blank'); return false;" &gt;Bazaar Mirror&lt;/a&gt; of all projects in GNOME Subversion, all created using bzr-svn.  There's also a &lt;a href="http://live.gnome.org/Bazaar" onclick="window.open(this.href, '_blank'); return false;" &gt;quick introduction to using Bazaar for GNOME developers&lt;/a&gt; on the &lt;a href="http://live.gnome.org/" onclick="window.open(this.href, '_blank'); return false;" &gt;GNOME wiki&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://uwstopia.nl" onclick="window.open(this.href, '_blank'); return false;" &gt;Wouter&lt;/a&gt;, long time Bazaar user and GNOME dude, recently blogged about &lt;a href="http://uwstopia.nl/blog/2008/06/gnome-specimen-now-in-gnome-svn" onclick="window.open(this.href, '_blank'); return false;" &gt;pushing Bazaar branches&lt;/a&gt; into GNOME Subversion, working around the restrictions imposed by the pre-commit hooks in GNOME Subversion.&lt;/p&gt;

&lt;p&gt;The problems John ran into with memory usage in the Python Subversion bindings encouraged me to continue the work on bzr-svn's own Python bindings, thus avoiding any dependency on unreleased versions of Subversion and several other issues.&lt;/p&gt;

 
    </description>
    </item>
    <item>
      <pubDate>Sun, 27 Apr 2008 14:08:02 GMT</pubDate>
      <title>Git cutting corners</title>
      <link>http://www.advogato.org/person/ctrlsoft/diary.html?start=54</link>
      <guid>http://jelmer.vernstok.nl/blog/archives/216-Git-cutting-corners.html</guid>
      <description>
    &lt;p&gt;My relationship with git is still one of love and hate. It cuts corners to increase performance in a couple of places and that can be really bloody annoying.&lt;/p&gt;

&lt;p&gt;For example, jerry renamed one of the top-level directories in Samba 3 (revision 9f672c26d63955f613088489c6efbdc08b5b2d14). Git will skip rename detection in this revision because of the number of files it affects, thus causing the output of &amp;quot;git log &amp;lt;path&amp;gt;&amp;quot; of this particular directory to be useless.&lt;/p&gt;

&lt;p&gt;I'm the first to admit &amp;quot;bzr log&amp;quot; on directories and files in large history projects is painfully slow, but at least it gets the output right.&lt;/p&gt;

&lt;p&gt;cp: Brandi Carlile - The Story&lt;/p&gt;

 
    </description>
    </item>
    <item>
      <pubDate>Sat, 26 Apr 2008 10:10:57 GMT</pubDate>
      <title>SambaXP and other travel</title>
      <link>http://www.advogato.org/person/ctrlsoft/diary.html?start=53</link>
      <guid>http://jelmer.vernstok.nl/blog/archives/215-SambaXP-and-other-travel.html</guid>
      <description>
    &lt;p&gt;It's been a busy two weeks.  Wilco and I drove up to G&#xF6;ttingen on Sunday two weeks ago to spend some days hacking and meeting up with the other developers before the start of &lt;a href="http://www.sambaxp.org/" onclick="window.open(this.href, '_blank'); return false;" &gt;SambaXP&lt;/a&gt;. It was really nice to see everybody again after more than 7 months.&lt;/p&gt;

&lt;p&gt;SambaXP was a bit different this year. There were three tracks during the second part of the conference this year, one more than previously and of course, there were several engineers from Microsoft attending this time! Some of the interesting talks this year included Julien's update on OpenChange, Tridge's talk on PFIF, the talk from the likewise folks and of course the talk from Microsofts' Wolfgang Grieskamp on SMB2. We also had some other informal discussions with the Microsoft folks about specific topics - very useful!&lt;/p&gt;

&lt;p&gt;There are &lt;a href="http://sambaxp.org/index.php?id=137" onclick="window.open(this.href, '_blank'); return false;" &gt;some photos&lt;/a&gt; up on the SambaXP homepage. And just to be ahead of the comments: yes, I know I need a haircut.&lt;/p&gt;

&lt;p&gt;I did some initial work on several bits and pieces of code that I hope to expand over the next few months. Volker has started working on ncacn_ip_tcp support and I have been working on making the Samba 3 DCE/RPC library compatible with Samba 4. This should allow OpenChange to use Samba 3 in the future.&lt;/p&gt;

&lt;p&gt;Guenther, Wilco and I made some initial progress on the policy library, allowing client-side manipulation of (group) policies in Samba. I worked with Simo on trying to get rid of an evil hack in Samba4's event subsystem.&lt;/p&gt;

&lt;p&gt;David Holder blogged about some of the IPv6 development that we did during the conference: &lt;a href="http://www.ipv6consultancy.com/ipv6blog/?p=34" onclick="window.open(this.href, '_blank'); return false;" &gt;http://www.ipv6consultancy.com/ipv6blog/?p=34&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And lots of other things I can't remember at the moment...&lt;/p&gt;

&lt;p&gt;After the conference Andrew, Wilco and I drove back to the Netherlands and I played tour guide for a bit showing Andrew around the country during the afternoon and hacking Samba together in the morning. Later this week we took the train to Brussels, Eurostar to London and visited Sam's company &lt;br /&gt;
in the UK Midlands for a couple of days.&lt;/p&gt;

&lt;p&gt;And in the midst of all this, it seems Ubuntu Hardy was released. Congratulations to all those involved!&lt;/p&gt;

&lt;p&gt;cp: Brandi Carlile - Turpentine&lt;/p&gt;

 
    </description>
    </item>
    <item>
      <pubDate>Wed, 26 Mar 2008 16:08:20 GMT</pubDate>
      <title>Using bzr-builddeb as a svn-buildpackage replacement</title>
      <link>http://www.advogato.org/person/ctrlsoft/diary.html?start=52</link>
      <guid>http://jelmer.vernstok.nl/blog/archives/214-Using-bzr-builddeb-as-a-svn-buildpackage-replacement.html</guid>
      <description>
    &lt;p&gt;&lt;a href="http://samba.org/~jelmer/bzr-svn-buildpackage.diff" onclick="window.open(this.href, '_blank'); return false;" &gt;This slightly evil hack&lt;/a&gt; to bzr-svn allows using bzr-builddeb as a drop-in replacement for svn-buildpackage, making it recognize the &amp;quot;mergeWithUpstream&amp;quot; property svn-buildpackage uses.&lt;/p&gt;

&lt;p&gt;cp: Jeff Healey - Mess O' Blues&lt;/p&gt;

 
    </description>
    </item>
    <item>
      <pubDate>Sun, 9 Mar 2008 17:07:06 GMT</pubDate>
      <title>Adaption blockers Bazaar sprint</title>
      <link>http://www.advogato.org/person/ctrlsoft/diary.html?start=51</link>
      <guid>http://jelmer.vernstok.nl/blog/archives/213-Adaption-blockers-Bazaar-sprint.html</guid>
      <description>
    &lt;p&gt;The London bzr sprint is over again for this year. It was really good to meet everybody in person again and also to meet some of the folks who hadn't been to a sprint before.&lt;/p&gt;

&lt;p&gt;Last years sprint was mainly about improving performance; this year, we discussed adoption blockers and how to remove them. A short summary of the &lt;a href="http://bazaar-vcs.org/SprintLondonMarch08/Brainstorms" onclick="window.open(this.href, '_blank'); return false;" &gt;brainstorming&lt;/a&gt; is on the wiki.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://beuno.com.ar/" onclick="window.open(this.href, '_blank'); return false;" &gt;Martin's blog&lt;/a&gt; has some pictures.&lt;/p&gt;

&lt;p&gt;&lt;div style="text-align: center;"&gt;TMV&lt;/div&gt;&lt;/p&gt;

&lt;p&gt;The Mars Volta concert we went to last night in Tilburg was absolutely brilliant. Very energetic and definitely one of the best acts I've ever seen live. We were standing in the back of a completely packed venue for 3 hours, but it was very much worth it.&lt;/p&gt;

&lt;p&gt;cp: Soft Machine - Teeth&lt;/p&gt;

 
    </description>
    </item>
    <item>
      <pubDate>Wed, 5 Mar 2008 19:05:34 GMT</pubDate>
      <title>Nemiver and other random things</title>
      <link>http://www.advogato.org/person/ctrlsoft/diary.html?start=50</link>
      <guid>http://jelmer.vernstok.nl/blog/archives/212-Nemiver-and-other-random-things.html</guid>
      <description>
    &lt;p&gt;FOSDEM was once again a lot of fun, although (as many others have already blogged) it's starting to become a bit too big for the venue where's it currently held, the ULB. I think I only attended 3 actual talks this year because it was so hard to get into a room.&lt;/p&gt;

&lt;p&gt;Every now and then I come across a brilliant package in Debian. &lt;a href="http://home.gna.org/nemiver/" onclick="window.open(this.href, '_blank'); return false;" &gt;Nemiver&lt;/a&gt; is one. It is a simple GTK+ frontend for gdb, much like kgdb or ddd.&lt;/p&gt;

&lt;p&gt;In other news, Andrew was interviewed about Samba 4 last week; the interview is &lt;a href="http://searchenterpriselinux.techtarget.com/news/article/0,289142,sid39_gci1303233,00.html" onclick="window.open(this.href, '_blank'); return false;" &gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;cp: Mars Volta - Miranda That Ghost That Just Isn't Holy Anymore&lt;/p&gt;

 
    </description>
    </item>
    <item>
      <pubDate>Mon, 21 Jan 2008 17:04:56 GMT</pubDate>
      <title>OpenChange Evolution plugin preview and Debian packages</title>
      <link>http://www.advogato.org/person/ctrlsoft/diary.html?start=49</link>
      <guid>http://jelmer.vernstok.nl/blog/archives/210-OpenChange-Evolution-plugin-preview-and-Debian-packages.html</guid>
      <description>
    &lt;p&gt;Srini writes that a preview of the &lt;a href="http://blogs.gnome.org/sragavan/2008/01/21/evolution-mapi-exchange-2007-preview/" onclick="window.open(this.href, '_blank'); return false;" &gt;Evolution OpenChange plugin&lt;/a&gt; has just been published. This plugin is now developed in the Evolution Subversion repository, but is based on the original plugin that was written by the &lt;a href="http://www.epitech.eu/" onclick="window.open(this.href, '_blank'); return false;" &gt;Epitech&lt;/a&gt; team that worked for the OpenChange project this year.&lt;/p&gt;

&lt;p&gt;I've packaged new snapshots of Samba and OpenChange for Debian/Ubuntu, available from my &lt;a href="http://samba.org/~jelmer/debian/" onclick="window.open(this.href, '_blank'); return false;" &gt;personal apt repository&lt;/a&gt; and hopefully soon also from Debian experimental.&lt;/p&gt;

 
    </description>
    </item>
  </channel>
</rss>
