{"id":1919,"date":"2010-05-20T00:00:25","date_gmt":"2010-05-19T14:00:25","guid":{"rendered":"http:\/\/www.flamingspork.com\/blog\/?p=1919"},"modified":"2010-05-20T00:00:25","modified_gmt":"2010-05-19T14:00:25","slug":"exporting-a-set-of-bzr-revisions-as-a-quilt-series","status":"publish","type":"post","link":"https:\/\/www.flamingspork.com\/blog\/2010\/05\/20\/exporting-a-set-of-bzr-revisions-as-a-quilt-series\/","title":{"rendered":"Exporting a set of bzr revisions as a quilt series"},"content":{"rendered":"<p>There has to be a better way than this&#8230; but it does work (at least for revisions 11 through 141):<\/p>\n<pre>\r\n<div id=\"_mcePaste\">for rev in `seq 11 141`;<\/div>\r\n<div id=\"_mcePaste\">do<\/div>\r\n<div id=\"_mcePaste\">  if [ -z \"`bzr diff -r\\`expr $rev - 1\\`..$rev|diffstat -p0 -l|grep ^tests`\" ];<\/div>\r\n<div id=\"_mcePaste\">  then<\/div>\r\n<div id=\"_mcePaste\">    (bzr log -r$rev --forward --log-format=long<\/div>\r\n<div id=\"_mcePaste\">     | sed -e 's\/^ \u00c2\u00a0\/\/;<\/div>\r\n<div id=\"_mcePaste\">       \/^------------------------------------------------------------\/d;<\/div>\r\n<div id=\"_mcePaste\">       \/^revno:.*$\/d; \/^committer:.*\/d; \/^branch nick:\/d;<\/div>\r\n<div id=\"_mcePaste\">       \/^timestamp: \/d; \/^message:\/d';<\/div>\r\n<div id=\"_mcePaste\">    echo;<\/div>\r\n<div id=\"_mcePaste\">    echo;<\/div>\r\n<div id=\"_mcePaste\">    bzr diff -r`expr $rev - 1`..$rev --prefix a\/storage\/innodb_plugin\/:b\/storage\/innodb_plugin\/) &gt; patches\/$rev.patch ;<\/div>\r\n<div id=\"_mcePaste\">    echo $rev.patch &gt;&gt; patches\/series;<\/div>\r\n<div id=\"_mcePaste\">  fi;<\/div>\r\n<div id=\"_mcePaste\">done<\/div><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>There has to be a better way than this&#8230; but it does work (at least for revisions 11 through 141): for rev in `seq 11 141`; do if [ -z &#8220;`bzr diff -r\\`expr $rev &#8211; 1\\`..$rev|diffstat -p0 -l|grep ^tests`&#8221; ]; &hellip; <a href=\"https:\/\/www.flamingspork.com\/blog\/2010\/05\/20\/exporting-a-set-of-bzr-revisions-as-a-quilt-series\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1],"tags":[100,306,128],"class_list":["post-1919","post","type-post","status-publish","format-standard","hentry","category-general","tag-bzr","tag-patches","tag-quilt"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5a6n8-uX","jetpack-related-posts":[{"id":1016,"url":"https:\/\/www.flamingspork.com\/blog\/2008\/02\/22\/bzr-loom-a-bzr-plugin-with-quilt-like-functionality\/","url_meta":{"origin":1919,"position":0},"title":"bzr-loom &#8211; a bzr plugin with quilt like functionality","author":"Stewart Smith","date":"2008-02-22","format":false,"excerpt":"A bzr plugin to assist in developing focused patches. in Launchpad I use quilt a lot for development. Currently, If I had to choose between BK and quilt - I'd choose quilt. I use bzr in other development projects like MemberDB. I use git as a frontend for SVN (it\u2026","rel":"","context":"In &quot;MemberDB&quot;","block_context":{"text":"MemberDB","link":"https:\/\/www.flamingspork.com\/blog\/category\/memberdb\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3398,"url":"https:\/\/www.flamingspork.com\/blog\/2013\/08\/14\/who-is-working-on-mariadb-10-0\/","url_meta":{"origin":1919,"position":1},"title":"Who is working on MariaDB 10.0?","author":"Stewart Smith","date":"2013-08-14","format":false,"excerpt":"There was some suggestion after my previous post (Who works on MariaDB and MySQL?) that I look at MariaDB 10.0 - so I have. My working was very simple, in a current MariaDB 10.0 BZR tree (somewhat beyond 10.0.3), I ran the following command: bzr log -n0 -rtag:mariadb-10.0.0..|egrep '(author|committer): '|\u2026","rel":"","context":"In &quot;code&quot;","block_context":{"text":"code","link":"https:\/\/www.flamingspork.com\/blog\/category\/code\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1749,"url":"https:\/\/www.flamingspork.com\/blog\/2009\/11\/16\/bazaar-importmbox-plugin\/","url_meta":{"origin":1919,"position":2},"title":"Bazaar importmbox plugin","author":"Stewart Smith","date":"2009-11-16","format":false,"excerpt":"Releasing and announcing software is win! I've had this bumming around for a bit, and for me (and I think others hacking on MySQL) it's been rather useful. Simple plugin that takes each email in an mbox, applies the patch and commits it with the correct author to a bzr\u2026","rel":"","context":"In &quot;drizzle&quot;","block_context":{"text":"drizzle","link":"https:\/\/www.flamingspork.com\/blog\/category\/work-et-al\/drizzle-work-et-al\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3655,"url":"https:\/\/www.flamingspork.com\/blog\/2014\/01\/14\/converting-mysql-trees-to-git\/","url_meta":{"origin":1919,"position":3},"title":"Converting MySQL trees to git","author":"Stewart Smith","date":"2014-01-14","format":false,"excerpt":"I have put up a set of scripts on github: https:\/\/github.com\/stewartsmith\/bzr-to-git-conversion-scripts. Why do I need these? Well... if only bzr fast-export|git fast-import worked flawlessly for large, complex and old trees. It doesn't. Basically, when you clone this repo you can run \".\/sync-BLAH.sh\" and it'll pull BZR trees for the project,\u2026","rel":"","context":"In &quot;code&quot;","block_context":{"text":"code","link":"https:\/\/www.flamingspork.com\/blog\/category\/code\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":793,"url":"https:\/\/www.flamingspork.com\/blog\/2007\/02\/14\/svn-shows-its-true-colours\/","url_meta":{"origin":1919,"position":4},"title":"SVN shows its&#8217; true colours","author":"Stewart Smith","date":"2007-02-14","format":false,"excerpt":"I thought \"svn\", I typed \"cvs\". Hrrm... sounds about right. In other revision control news, using quilt to manage work-in-progress patches in conjunction with BK is proving really, really great. I feel like an idiot having lived this long and not worked this way. I have a feeling that if\u2026","rel":"","context":"In &quot;mysql&quot;","block_context":{"text":"mysql","link":"https:\/\/www.flamingspork.com\/blog\/category\/work-et-al\/mysql\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1131,"url":"https:\/\/www.flamingspork.com\/blog\/2008\/07\/01\/mysql-encrypted-online-backup-preview-1\/","url_meta":{"origin":1919,"position":5},"title":"MySQL Encrypted Online Backup Preview 1","author":"Stewart Smith","date":"2008-07-01","format":false,"excerpt":"I've just pushed to launchpad, a set of patches that implement AES encryption support for MySQL Online Backup. You will need to build --with-ssl to get support for encrypted online backup. Encrypted backup files have no recognisable header - they're just a stream of random bytes. Encryption and compression also\u2026","rel":"","context":"In &quot;General&quot;","block_context":{"text":"General","link":"https:\/\/www.flamingspork.com\/blog\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts\/1919","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/comments?post=1919"}],"version-history":[{"count":1,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts\/1919\/revisions"}],"predecessor-version":[{"id":1920,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts\/1919\/revisions\/1920"}],"wp:attachment":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/media?parent=1919"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/categories?post=1919"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/tags?post=1919"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}