Posts – Page 7

LUG Radio Live

Just got back to the hotel after LUG Radio Live and the afterparty event. I guess the best way to describe LUG Radio live is as a your average geek conference but with a bit of a rock concert flavor: lots of cheering on, groupies, swearing, simple humor and metal music being played in between between sessions.

The talks were very good; in particular I liked Nat Friedman’s talk about, among other things, the way the Oxford English Dictionary was developed (although he still doesn’t seem to understand what is so bad about the MS-Novell deal) and Aaron Seigo’s talk on KDE 4 (made my fingers itchy and want to contribute..). The short talk Szilveszter and I gave on bzr-gtk went ok, but was probably not all that entertaining right after Malcolm’s talk on zombies and Ubuntu.

The major thing I disliked is the fact that the wireless was very crappy. I got it to work on two occassions, just long enough to read a few emails. It took a while to get used to the weird accent with which they speak English around here and I seem to’ve picked up a few swearwords that I now have to unlearn again. Doh.

All in all really worth the trip from Amsterdam and definitely something to keep in mind for next year!

Erik and I decided to stay an extra day to see a bit of Wolverhampton and Birmingham, but it turns out this isn’t your typical tourist spot.

comments.

Ohloh - Statistics on Free Software projects

Ohloh is a nice web 2.0 site that contains stats on various Free Software projects. At the moment, they only support Subversion, CVS and Git. They’re open to feature requests though. If enough people ask for it, hopefully they’ll support Bazaar at some point.

comments.

OpenChange Interview

Linux Weekly News had a good interview with Julien Kerihuel, lead developer of OpenChange, two weeks ago. It’s now also available for those who are not subscribed.

comments.

Using a pqm with Subversion

One of the things that I’ve always missed in DVCS is the ability to refuse commits in a branch that’s shared by multiple people based on a test suite run. Sure, it’s possible to have a pre-commit hook - but that would mean that you’d have to wait for the full test suite to run until the commit finishes. With the time it takes to run the Samba testsuite, this is not really an option.

One of the things that would work is to have everybody work in a separate branch and then have some sort of tool that merges those revisions from everybody’s personal branches that worked ok. However, to my knowledge, there is no such tool for Subversion.

Bazaar uses a tool called PQM (Patch Queue Manager). PQM usually controls the main branch (for example for Bazaar, it controls bzr.dev), and waits for GPG-signed requests to merge a specific revision into that main branch. Before accepting such a revision, it will try to run the testsuite to make sure it passes. This guarantees that the main branch never contains broken code (as far as can be indicated by the testsuite).

Now that bzr-svn supports true push, it is possible to actually use a PQM with a Subversion branch. I’ve tried it on a smaller branch last week, and am now looking into using this for my Samba work.

comments.

London

I’m currently doing a bit of sightseeing in London, after attending the Bazaar sprint at the Canonical office. It was a good sprint, and quite different from the previous ones - in that there was only a limited amount of actual coding involved. The view from the Canonical office is magnificent, so we were even able to do some sightseeing while working…

Bazaars’ focus has previously mainly been on correctness and features. The first has always been one of our strengths, and we’re in pretty good shape regarding the second. Performance has been one of the main complaints from users about Bazaar and so we have recently tried to improve in that area.

Since 0.12, we have already tried to optimise some of the common code paths and some people have been working on a high performance smart server (to speed up remote operations).

During the first two-and-a-half days of the sprint, we analysed 20 of the most common use cases with Bazaar and determined what complexity they should ideally require to be able to work. After this analysis, we looked at ways to change our data structures to reach these goals.

I have mainly been a spectator during the latter parts of these discussion, but they were interesting to follow.

One of the things I worked on was support for true push in bzr-svn. This was one of the bugs that has bitten a lot of users of bzr-svn. The upcoming bzr-svn 0.4 now supports true push as well as commits in heavyweight checkouts. I hope to release 0.4 after adding nested tree and ignores support so that I don’t have to change the internal mapping mechanisms again.

And now, it is time for some more sightseeing. After that I hope to get back to the reason I’m doing all of this in the first place: Samba!

comments.

SambaXP: a year with leaps of progress

Like most of the Samba team, I attended SambaXP in Goettingen again last week. This year we were able to announce a couple of big leaps forward:

OpenChange

Julien’s talk about OpenChange was probably the most interesting and surprising one this year. After three years of hard work (I remember spending a lot of time in front of a beamer looking at network packets in 2004 when they started), the OpenChange team has figured out the enough bits of the MAPI (Exchange/Outlook) protocol that they can fetch and send emails using an Exchange server.

At the moment, there is a simple command-line client that can fetch into a mbox file and send mails in a way somewhat similar to the “mail” command. There also is a highly experimental plugin for evolution.

Most work will now have to focus on the most interesting bit - providing a Free Software implementation of a MAPI server.

DRSUAPI

Metze announced that he’s been able to work out how the directory replication protocol that is used between DC’s in an Active Directory environment works. This is very important, because we need that protocol in order to be able to live as a DC in an Active Directory environment that has more than one DC.

Halfway through preparing our (now yearly) talk about the status of Samba 4, Andrew and I realized we’re actually not too far away from being able to do the first alpha of Samba 4. We hope we can release one in the next few months.

comments.

UK Summer

Great Britain appears to be the place to be this summer; a lot of the annual conferences are held in various cities around the UK this year: DebConf (Edinborough, 17-23 June), GUADEC (Birmingham, 15-21 July), Akademy (Glasgow, 30 June-7 July) and last but not least the next Bazaar sprint (London, 14-20 May).

I’ll be attending at least the Bazaar sprint and LUG Radio Live, and I hope to be present at GUADEC, time permitting.

comments.

Bazaar for dvcs users

John Goerzen has been evaluating various version control systems and his blogs posts on the subject have been interesting. One of the most interesting points he raises about Bazaar is that there is no “darcs send”-like support. The “submit” plugin gets close, but I think it misses some important features - and I agree it should be part of the core.

I’m not sure that the merge support in Bazaar is worse than that in Mercurial or Git. I’ve never had problems with it, and I use it a lot. Performance, other than remote access, is also no longer a problem for medium size projects as of 0.15. Update: it’s no longer as much of a problem as it used to be. Remote access is still significantly slower than it can be, but people are working hard on fixing that problem.

It’s also interesting to see that the Bazaar user interface and documentation is apparently confusing to people who are mostly familiar with other distributed version control systems rather than centralized systems. We definitely need to work on that.

The fact that John doesn’t come from CVS or Subversion also explains that checkouts don’t appeal to him.

comments.

Bazaar and Subversion nested tree support

As of 0.15, Bazaar will have initial support for nested trees. Nested trees basically allow you to add a ‘magic’ directory to a Bazaar branch that in itself is another Bazaar branch. A very good use case of this is if you have a project for which you need to include some library (e.g. popt). Nested trees allow you to add a reference to the upstream popt branch, avoiding the need to synchronize every time upstream fixes a bug.

Subversion has similar functionality, although the term used there is ‘externals’. Externals are quite easy to use - using them only requires setting the svn:externals property.

I’ve done some early work on supporting externals in bzr-svn and mapping them to nested trees. At the moment, bzr-svn is able to track nested trees that are being added. Removes and changes to existing nested tree locations are still on my todo list, but will definitely be supported in bzr-svn 0.4.0.

comments.

Bazaar 0.15

Since I’ve upgraded serendipity to version 1.1, it seems to keep losing my draft blog entries (either that, or hiding them somewhere I can’t find them). For that reason, this blog post is a bit short, as I’m too lazy to rewrite the original one I had drafted up.

Bazaar 0.15 is promising to be a really great release. Several new features are going to land: dirstate (fast working tree access), tags and initial nested tree support.

I miss travelling.

cp: Smashing Pumpkins - Ava Adore

comments.

Samba 4 progress

I’ve been busy getting some more of my pending Samba 4 work merged. In the past week, I’ve worked on:

  • Getting the registry branch Wilco and I have been working on ready to be merged
  • Moved out the GTK+ stuff of the main tree into a separate one
  • A bunch of improvements to the build farm. Mainly refactoring code so we can switch to using a database backend
  • Random pidl improvements (mainly better warnings and errors)
  • Rewritten test interface in perl with the ability to run tests in a more fine-grained way

It looks like I’ll be mainly working on pidl stuff for the next few weeks and then on GSSAPI support for CIFS VFS.

My blog now also has a real-life tag, in case I’d ever want to post about things other than travel or free software stuff.

Currently Playing: Robert Johnson - Malted Milk

comments.

Bazaar gains tags support

Martin sent a merge request for tags this morning. W00t! Another point off my list of wishlist items.

That leaves:

comments.

Code coverage testing

Over the past week or so, trying to make sure all my code is covered by the unit tests, I’ve been playing with gcov and various other code coverage tools. Especially lcov and perls’ Devel::Cover give very nice, browsable HTML output.

Test code coverage for some of the projects I work on:

comments.

Bazaar

Now that I have some more time to spend, I’ve done some more work on Samba 3 and 4. In particular, I’ve resolved a couple of pending DCE/RPC issues. I’m now looking at improving the test runner a bit, so that it shows progress.

I released bzr-svn 0.3 a couple of days ago, a couple of hours after the first release candidate for Bazaar 0.14. The main focus has been on reducing the number of bugs. That’s resulted in a large number of repositories now working with bzr-svn. In fact, all of the repositories I’ve tested so far work.

It’s going to be another Bazaar-heavy week next week at the Bazaar sprint Wouter and I are organizing in Amsterdam.

Currently playing: Acda en de Munnik - Vondelpark Vannacht

comments.

First Bazaar commit

The Bazaar PQM has just merged my first Bazaar commits. Hopefully there are more to follow in the near future. I also managed to fixed some more annoying bzr-svn bugs today, 0.2 is nearer than ever now.

Currently playing: Transatlantic - Bridges Across Forever - Duel With The Devil

comments.