local svn:externals with bzr and by-reference trees

April 29, 2010


$ bzr branch https://mingw-w64.svn.sourceforge.net/svnroot/mingw-w64/trunk
$ cd trunk/
$ svn proplist -v -R https://mingw-w64.svn.sourceforge.net/svnroot/mingw-w64/trunk | grep externals -C1
Properties on 'svn-checkout/mingw-w64-headers/ddk/include':
svn:externals
ddk svn://svn.reactos.org/reactos/trunk/reactos/include/ddk

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

$ bzr merge :parent
https://mingw-w64.svn.sourceforge.net/svnroot/mingw-w64/trunk is permanently redirected to https://mingw-w64.svn.sourceforge.net/svnroot/mingw-w64/trunk/
+N mingw-w64-crt/misc/wcstof.c
+N mingw-w64-headers/direct-x/include/d3dx9shape.h
M mingw-w64-crt/ChangeLog
#snip
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://svn.reactos.org/reactos/trunk/reactos/include/ddk
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.


rEFIt Humanity Icons

February 19, 2010

If you are familiar with the screen above. This post is for you! I couldn’t stand staring at inconsistent icons and despite liking tux a lot I wanted to see ubuntu logo there.

So I’ve made a script, converted Humanity icons into Macintosh icns format and made a mac package to install them. See this screen:

So If you want this boot experience (including gray ubuntu silhouette after you select ubuntu similar to mac’s apple)

Project page: https://edge.launchpad.net/refit-humanity

Download page: https://edge.launchpad.net/refit-humanity/+download

Comments, Code, Bugs and Blueprints are welcome =)

ps. the “screenshots” are actually edited files using themed graphics and same size because rEFIt is not build with screenshot support but it is very close to reality. I don’t believe it will be upstreamable to rEFIt cause it’s BSD licensed and icons are GPL …


Conversation about ubuntu

August 3, 2009

I had this conversation with my sibling:

– Why do you have this other one (Ubuntu)?

– Because it has freedom.

– Is that important for you?

– Yes.

– And what do they change it and publish it somehow?

– Yes… and I do too.

– Ok. Cool.


I’ve met a Debian Developer

December 21, 2008

I’ve met the only Debian Developer from Latvia. We did keysigning and had a nice chat about Ubuntu, Debian & Life. Hopefully he will sign my key.


Jaunty UDS

December 17, 2008

Jaunty UDS has finished. I haven’t been there but planet.ubuntu.com provided a good coverage.  Jono Bacon posted on his blog a link to videos from the Jaunty UDS. You might find schedule to be helpful while downloading/watching them.

I couldn’t find the most interesting sessions though =( the Upcoming Lauchpad Features, Brainstorm Overview, Becoming MOTU, Python 3000 QA, ext4 and so on. Basically anything that happened in Olympus Mons hall. That’s disappointing because there also was a session on Google Apps Engine.

Maybe we will find it on Google Code YouTube channel or something like that.