== Dev Week -- Merge proposals: life on the sunny side -- MartinAlbisetti -- Thu, Jul 15th, 2010 == {{{ (04:00:52 PM) jcastro: ok everyoe, unfortunately, our instructor for this session, Martin, is sick (04:01:00 PM) jcastro: and tried to take a bunch of drugs, but that made him worse (04:01:18 PM) jcastro: so we're going to try to on-the-fly turn this into a Q+A session for merge proposals (04:01:29 PM) jcastro: since mhall119's been working with the tools (04:01:58 PM) jcastro: Martin apologizes for not being able to make it, we'll have to schedule a formal session for a later date (04:02:16 PM) jcastro: ok mhall119, why don't you tell us a bit about what merge proposals are? (04:02:52 PM) mhall119: okay, let me start off by saying I'm not a launchpad dev, but I do use it's merge proposal feature quite often (04:03:11 PM) mhall119: I'm one of the loco-directory developers, and I also maintain the django port of the ubuntu-website theme (04:03:25 PM) mhall119: I use launchpad merge proposals for both (04:03:57 PM) mhall119: in a nut shell, merge proposals are requests you make, for the owner of a branch to pull in changes that you have in one of your branches (04:04:20 PM) mhall119: you can do this without launchpad, but launchpad provides some nice interfaces and tools that make it so much nicer (04:05:51 PM) mhall119: okay, so lets do a live demo (04:06:21 PM) mhall119: I just uploaded a new bzr branch to LP: https://code.edge.launchpad.net/~mhall119/%2Bjunk/imporv/ (04:06:35 PM) mhall119: note, you don't need to have a project to push branches to launchpad (04:06:57 PM) mhall119: which is kind of convenient (04:07:16 PM) mhall119: okay, so here we have a branch with a single file in it (04:07:46 PM) mhall119: directory actually, because I was in a hurry and used mkdir instead of touch (04:07:50 PM) mhall119: oops (04:08:38 PM) mhall119: okay, if you refresh, there should be a revision 2, that now has the file /file1/foo (04:09:06 PM) mhall119: launchpad scans the history and contents of branches you push (04:09:10 PM) mhall119: it sometimes takes a few minutes (04:09:32 PM) mhall119: okay, https://code.edge.launchpad.net/~mhall119/%2Bjunk/imporv/ now has revision 2 (04:10:10 PM) mhall119: usually what happens, when working on a project, is that you branch the development focus branch (usually referred to as the "trunk") (04:10:27 PM) mhall119: then you make your fixes, and upload it to launchpad as a separate branch (04:10:55 PM) mhall119: launchpad is smart enough to know which one you branched from, and so it won't make a copy of everything in your new branch, just the changes you made (04:11:14 PM) mhall119: now, right now /file1/foo contains "bar". (04:11:32 PM) mhall119: let's say we want to change that to "baz" (04:12:27 PM) mhall119: I'm going to pretend I'm a different user for this (04:12:48 PM) mhall119: so I edit foo, change bar to baz, and then bzr commit it to my local branch (04:13:11 PM) mhall119: next I need to upload that to a new branch on launchpad (04:13:22 PM) mhall119: so I run: push lp:~mhall119/+junk/baz-fix (04:13:47 PM) mhall119: you will usually name your new branch after a feature or bug # (04:14:18 PM) mhall119: so, here's my new branch: https://code.edge.launchpad.net/~mhall119/+junk/baz-fix (04:16:20 PM) mhall119: questions on any of this? (04:18:39 PM) mhall119: anyone still here for this? (04:21:01 PM) mhall119: okay, it appears I've done something wrong with my branches... (04:21:22 PM) mhall119: usually launchpad will show a "propose for merging" link on the branch page (04:21:46 PM) mhall119: that might require an actual project (04:22:31 PM) mhall119: so let me try one with an actual project (04:24:30 PM) mhall119: okay, everyone look here: https://code.edge.launchpad.net/~mhall119/classroom-scheduler/add-admin (04:24:44 PM) mhall119: you'll see the "Propose for merging" link there (04:25:10 PM) mhall119: well, you might not, because the branch is owned by me (04:25:20 PM) mhall119: if you can't see it don't worry, it's there ;) (04:25:40 PM) mhall119: I'm going to go ahead and propose it for merging (04:26:11 PM) mhall119: when you click the link, it brings you to a page where you can select the branch you want to have yours merged into, as well as a space for a comment about what is going to be merged (04:26:46 PM) mhall119: once you submit it, you'll get something like this: https://code.edge.launchpad.net/~mhall119/classroom-scheduler/add-admin/+merge/30046 (04:27:18 PM) mhall119: this will send an email to the person(s) responsible for that branch, letting them know the proposal has been made (04:27:45 PM) mhall119: once launchpad is done scanning the proposal, it'll even show a green and red highlighted diff on that page (04:28:00 PM) mhall119: can everyone see that? (04:41:47 PM) akgraner: Thanks mhall119!!! (04:43:43 PM) akgraner: ok folks mhall119 has to leave - many thanks for handling an ad hoc QA session!!! (04:43:53 PM) akgraner: jcastro, do you have anything you want to add? (04:45:12 PM) akgraner: If not - that's a wrap for Day 4 of Ubuntu Developer Week! Check out tomorrow's sessions https://wiki.ubuntu.com/UbuntuDeveloperWeek and hope to see you back tomoroow!!! (04:45:19 PM) akgraner: tomorrow even :-) (04:45:36 PM) akgraner: Thanks everyone for a great Day 4!!! }}}