Skip to main content

local svn:externals with bzr and by-reference trees

$ bzr branch
$ cd trunk/
$ svn proplist -v -R | grep externals -C1
Properties on 'svn-checkout/mingw-w64-headers/ddk/include':
ddk svn://

$ bzr branch svn:// mingw-w64-headers/ddk/include/ddk
$ bzr join mingw-w64-headers/ddk/include/ddk/
$ bzr ci -m "Merging svn:externals"

$ bzr merge :parent is permanently redirected to
+N mingw-w64-crt/misc/wcstof.c
+N mingw-w64-headers/direct-x/include/d3dx9shape.h
M mingw-w64-crt/ChangeLog
M mingw-w64-headers/include/ChangeLog
M mingw-w64-headers/include/dbghelp.h
All changes applied successfully.

$ bzr ci -m "merged from upstream svn"

$ bzr merge svn://
M mingw-w64-headers/ddk/include/ddk/hubbusif.h
M mingw-w64-headers/ddk/include/ddk/ntddk.h
M mingw-w64-headers/ddk/include/ddk/ntifs.h
M mingw-w64-headers/ddk/include/ddk/ntimage.h
M mingw-w64-headers/ddk/include/ddk/usbbusif.h
M mingw-w64-headers/ddk/include/ddk/wdm.h
All changes applied successfully.

$ bzr ci -m "Merged updates from ddk svn:externals"

If you really need to commit back. Create pristine bzr-svn import without joined externals. Merge just the revisions you want to commit and merge that into svn.

$ echo "Bzr rocks" >> sure-it-does; bzr add sure-it-does; bzr ci -m "My masive hack"
$ bzr branch :parent ../pristine
$ cd ../pristine
$ bzr merge -r-2..-1 ../trunk
$ bzr ci -m "Bingo"
$ bzr push :parent

But this will invalidate your "joined" clone.

When bzr people talk about NestedTrees we mean by-reference Nested Trees such that joining a tree doesn't join it's whole history but instead transperatly, rerucsivly commits to correct child branches. With by-reference nested trees you would then be able to push to correct upstreams of all externals code.


  1. bonjour je voudrait devenir administrateur chez hubuntu merci

  2. Je ne parle pas francaise.

    !Hola! I don't speak spanish either =)


  3. "hello I would like to become a director of hubuntu thank you" is what google translate says.

    Well i'm just a blogger on Ubuntu Planet I can't really do that for you. Search for "LoCo Directory" or contact past people in "hubuntu"


Post a Comment

Popular posts from this blog

How to disable TLS 1.0 and TLS 1.1 on Ubuntu

Example of website that only supports TLS v1.0, which is rejected by the client Overivew TLS v1.3 is the latest standard for secure communication over the internet. It is widely supported by desktops, servers and mobile phones. Recently Ubuntu 18.04 LTS received OpenSSL 1.1.1 update bringing the ability to potentially establish TLS v1.3 connections on the latest Ubuntu LTS release. Qualys SSL Labs Pulse report shows more than 15% adoption of TLS v1.3. It really is time to migrate from TLS v1.0 and TLS v1.1. As announced on the 15th of October 2018 Apple , Google , and Microsoft will disable TLS v1.0 and TLS v1.1 support by default and thus require TLS v1.2 to be supported by all clients and servers. Similarly, Ubuntu 20.04 LTS will also require TLS v1.2 as the minimum TLS version as well. To prepare for the move to TLS v1.2, it is a good idea to disable TLS v1.0 and TLS v1.1 on your local systems and start observing and reporting any websites, systems and applications that

Ubuntu 23.10 significantly reduces the installed kernel footprint

Photo by Pixabay Ubuntu systems typically have up to 3 kernels installed, before they are auto-removed by apt on classic installs. Historically the installation was optimized for metered download size only. However, kernel size growth and usage no longer warrant such optimizations. During the 23.10 Mantic Minatour cycle, I led a coordinated effort across multiple teams to implement lots of optimizations that together achieved unprecedented install footprint improvements. Given a typical install of 3 generic kernel ABIs in the default configuration on a regular-sized VM (2 CPU cores 8GB of RAM) the following metrics are achieved in Ubuntu 23.10 versus Ubuntu 22.04 LTS: 2x less disk space used (1,417MB vs 2,940MB, including initrd) 3x less peak RAM usage for the initrd boot (68MB vs 204MB) 0.5x increase in download size (949MB vs 600MB) 2.5x faster initrd generation (4.5s vs 11.3s) approximately the same total time (103s vs 98s, hardware dependent) For minimal cloud images that do not in

Ubuntu Livepatch service now supports over 60 different kernels

Linux kernel getting a livepatch whilst running a marathon. Generated with AI. Livepatch service eliminates the need for unplanned maintenance windows for high and critical severity kernel vulnerabilities by patching the Linux kernel while the system runs. Originally the service launched in 2016 with just a single kernel flavour supported. Over the years, additional kernels were added: new LTS releases, ESM kernels, Public Cloud kernels, and most recently HWE kernels too. Recently livepatch support was expanded for FIPS compliant kernels, Public cloud FIPS compliant kernels, and as well IBM Z (mainframe) kernels. Bringing the total of kernel flavours support to over 60 distinct kernel flavours supported in parallel. The table of supported kernels in the documentation lists the supported kernel flavours ABIs, the duration of individual build's support window, supported architectures, and the Ubuntu release. This work was only possible thanks to the collaboration with the Ubuntu C