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!!!

MeetingLogs/devweek1007/MergeProposals (last edited 2010-07-15 20:48:14 by pool-71-123-28-183)