Bazaar goes GNU
Just over a week ago, Bazaar got approved as an official GNU project, and it seems some big GNU projects like emacs are thinking about converting to bzr.
Exciting times to be working on bzr!
Just over a week ago, Bazaar got approved as an official GNU project, and it seems some big GNU projects like emacs are thinking about converting to bzr.
Exciting times to be working on bzr!
A while ago Matthew Revell interviewed me on the work being done on IDE integration efforts, and posted it on the Launchpad blog.
Second day is over (I’m a bit delayed on reporting, yesterday was exhausting).
The current disussions are currently being dumped into the wiki in http://bazaar-vcs.org/SprintLondonMarch08/Brainstorms, so today I’m just going to post some pictures.
This is where we eat breakfast
That would be the Canonical building
Ok, so the first day of the sprint is over.
It started much earlier than I’m used to (9am sharp), and I believe we left around 7pm, mainly because we needed food (and beer) pretty badly.
Meeting everyone has been absolutely great, and people are just very friendly and helpful in all kinds of ways.
The hotel Canonical has put us in is overwhelmingly nice, the offices have a very friendy environment, and the view of London is priceless.
A lot of brainstorming was done today, and we tried to start from the top by dumping all the adoptions blockers we perceive, and prioritizing them by importance.
Then we split up into two groups to discuss two major blockers, IDE Integration and Network Performance.
Both discussions seemed to be quite productive and triggered more than a few patches sent to be merged.
For a general sum up of the day, the IDE Integration meeting basically went around adding XML output to bzr’s core (it’s already available as a plugin) , as it seems to be the best language-agnostic approach. Some discussion about performance was delayed to a further discussion.
The network performance details escape me a bit, but the general idea was that the smart protocol has much room to improve, and it didn’t seem to need a terrible amount of work, it just needs to be done.
And finally, unifying under one storage format was heavily discussed, with a few approaches available which would reduce disk space and improve performance quite a bit.
Not sure if it’s of any use to anyone not present, but here are the pictures Aaron Bentley took of the whiteboards:
The Bazaar sprint started a few hours ago, more on this laterĀ ![]()
Just closed my suitcase and I’m finishing the final “what did I forget” panic round before heading to the airport.
I’ll be in Madrid a few days and then off to the Bazaar sprint.
I’m very excited about attending and meeting the rest of the bazaar dev’s.
More updates as soon as I land on the other side of the world.
Bazaar 1.2 was released a few days ago, get it while it’s hot.
Some of the improvements include:
* Formatting of bzr plugins output was changed to be more human-friendly. Full path of plugins locations will be shown only with –verbose command-line option.
* merge command now prefers to use the submit branch, but will fall back to parent branch. For many users, this has no effect. But some users who pull and merge on the same branch will notice a change. This change makes it easier to work on a branch on two different machines, pulling between the machines, while merging from the upstream. merge –remember can now be used to set the submit_branch.
* merge –preview produces a diff of the changes merge would make, but does not actually perform the merge.
* The register-branch command will now use the public url of the branch containing the current directory, if one has been set and no explicit branch is provided.
* bzr annotate has been speed up while using pack repositories by approx 3:2.
* Over a dozen bugfixes
NOTES WHEN UPGRADING:
* Fetching via the smart protocol may need to reconnect once during a fetch if the remote server is running Bazaar 1.1 or earlier, because the client attempts to use more efficient requests that confuse older servers. You may be required to re-enter a password or passphrase when this happens. This won’t happen if the server is upgraded to Bazaar 1.2.
You can also take a look at the the full changelog
It occurred to me the other day that while it’s very obvious what one of the major improvements that came with the release of 1.0 to those of us actively participating and following bazaar’s development (a new storage format with performance as a priority), so obvious, it might not be for the average user.
This new storage format also brought many long awaited bug fixes, so I think it was not stressed enough how important it is to upgrade any branches you created (or started using) with any version before 1.0.
First of all, make sure you’re running the latest bzr version (head to http://bazaar-vcs.org/Download, Ubuntu users can download the very latest from PPA)
To find out what storage format you are currently using, just go the the branch’s folder and type in:
beuno@beuno-laptop:~/test_branch$ bzr info -v | grep 'repository'
That should give you an output similar to this:
beuno@beuno-laptop:~/test_branch$ repository: Knit repository format 1
(Warning: if you’re using bzr-svn, you might see different formats, this probably doesn’t apply)
If it’s reporting Knit repository format (or anything different than Packs containing knits…) then you’re still using the old storage format. How to upgrade is documented in the bzr documentation, including preparation and upgrading, but for you lazy fellows, here’s how it goes:
Make sure you backup the whole directory first, the run:
beuno@beuno-laptop:~/test_branch$ bzr upgrade
(if you’re using shared repositories, make sure you specify where the root repository is with bzr upgrade root-repo-dir)
Once that’s done, you should reconcile:
beuno@beuno-laptop:~/test_branch$ bzr reconcile
If the operation doesn’t report any problems, run a quick bzr info to make sure the repository has been updated correctly and you should be able to delete the backup of the old storage format dir renamed to .bzr.backup/ (WARNING: make sure everything is working correctly before you do this).
If you have branches in Launchpad, you have to do the upgrades via SFTP instead of bzr+ssh (and I do recommend having all branches with the same storage format) like so:
beuno@beuno-laptop:~/test_branch$ bzr upgrade sftp://<username>@bazaar.launchpad.net/~username/project/branchname
And then of course:
beuno@beuno-laptop:~/test_branch$ bzr reconcile sftp://<username>@bazaar.launchpad.net/~username/project/branchname
If you run into any problems, feel free to drop by #bzr in freenode.