From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1NWw8j-00034w-Dl for mharc-grub-devel@gnu.org; Mon, 18 Jan 2010 13:15:49 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NWw8g-00032v-Gh for grub-devel@gnu.org; Mon, 18 Jan 2010 13:15:46 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NWw8d-000306-0h for grub-devel@gnu.org; Mon, 18 Jan 2010 13:15:46 -0500 Received: from [199.232.76.173] (port=60157 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NWw8c-000303-KT for grub-devel@gnu.org; Mon, 18 Jan 2010 13:15:42 -0500 Received: from smarthost03.mail.zen.net.uk ([212.23.3.142]:40591) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NWw8c-0004xc-9K for grub-devel@gnu.org; Mon, 18 Jan 2010 13:15:42 -0500 Received: from [82.69.40.219] (helo=riva.pelham.vpn.ucam.org) by smarthost03.mail.zen.net.uk with esmtp (Exim 4.63) (envelope-from ) id 1NWw8a-0006HN-IC for grub-devel@gnu.org; Mon, 18 Jan 2010 18:15:41 +0000 Received: from cjwatson by riva.pelham.vpn.ucam.org with local (Exim 3.36 #1 (Debian)) for grub-devel@gnu.org id 1NWw8X-0000Es-00; Mon, 18 Jan 2010 18:15:37 +0000 Date: Mon, 18 Jan 2010 18:15:37 +0000 From: Colin Watson To: grub-devel@gnu.org Message-ID: <20100118181536.GV5847@riva.ucam.org> References: <20100118094915.342a0469@svelte> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20100118094915.342a0469@svelte> User-Agent: Mutt/1.5.18 (2008-05-17) X-Originating-Smarthost03-IP: [82.69.40.219] X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) Subject: Re: Bazaar workflow for GRUB X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jan 2010 18:15:46 -0000 On Mon, Jan 18, 2010 at 09:49:15AM -0800, Colin D Bennett wrote: > Do you want to mention how GRUB committers should merge features to the > official trunk branch? I think the appropriate process, assuming > (1) either a merge directive or a feature branch provides the change > the we want to merge, and (2) we already have a local mirror branch of > GRUB's trunk branch: > > # 1. Update local trunk mirror. > cd trunk > bzr pull > > # 2. Merge the feature branch or merge directive. > bzr merge URL_OF_BRANCH > # (Or bzr merge /path/to/merge_directive.patch) > # If there are conflicts reported, fix them and use “bzr resolve” to > # mark them as resolved. > [ make grub ... and test it ] > > # 3. Commit the change locally. > bzr commit > > # 4. Push to the upstream trunk. > bzr push :parent > # (The :parent argument can be omitted after the first time you do > # this, since Bazaar will remember the given location from that > # point on as the “push location” for the local branch.) > # Note that in the unlikely event that someone happened to commit to > # upstream trunk in the meantime since you did “bzr pull”, Bazaar > # will tell you that the branches have diverged. You should try > # again, doing “bzr pull --overwrite” and go back to step 2. I recommend using a checkout for trunk, because that way bzr takes out a write lock on the branch when you start committing and doesn't release it until it's finished; it also warns you immediately if you're out of date rather than making you commit and try to push before you find out. This is a much more robust workflow for shared branches in my experience. The workflow for a trunk checkout, based on what you have above, is simply: # 1. Update local trunk checkout. cd trunk bzr update # 2. Merge the feature branch or merge directive. bzr merge URL_OF_BRANCH # (Or bzr merge /path/to/merge_directive.patch) # If there are conflicts reported, fix them and use “bzr resolve” to # mark them as resolved. [ make grub ... and test it ] # 3. Commit the change. bzr commit # If someone happened to commit to upstream trunk since you did “bzr # update”, Bazaar will tell you that you need to update again. -- Colin Watson [cjwatson@ubuntu.com]