From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Merging emacs-23 into trunk Date: Wed, 10 Nov 2010 21:19:06 +0200 Message-ID: <8362w5f0lx.fsf@gnu.org> References: <837hglf61k.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE X-Trace: dough.gmane.org 1289416784 7584 80.91.229.12 (10 Nov 2010 19:19:44 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 10 Nov 2010 19:19:44 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Nov 10 20:19:37 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PGGCm-0008S8-JG for ged-emacs-devel@m.gmane.org; Wed, 10 Nov 2010 20:19:36 +0100 Original-Received: from localhost ([127.0.0.1]:39660 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PGGCl-0001Jt-Vx for ged-emacs-devel@m.gmane.org; Wed, 10 Nov 2010 14:19:36 -0500 Original-Received: from [140.186.70.92] (port=46613 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PGGCg-0001JF-FQ for emacs-devel@gnu.org; Wed, 10 Nov 2010 14:19:31 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PGGCf-00088e-6w for emacs-devel@gnu.org; Wed, 10 Nov 2010 14:19:30 -0500 Original-Received: from mtaout20.012.net.il ([80.179.55.166]:56065) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PGGCe-00087f-Qe for emacs-devel@gnu.org; Wed, 10 Nov 2010 14:19:29 -0500 Original-Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0LBO00100O8QYQ00@a-mtaout20.012.net.il> for emacs-devel@gnu.org; Wed, 10 Nov 2010 21:19:06 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([77.126.249.126]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0LBO00M60OBRY5I0@a-mtaout20.012.net.il>; Wed, 10 Nov 2010 21:19:06 +0200 (IST) In-reply-to: X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 (beta) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:132523 Archived-At: > From: Stefan Monnier > Cc: emacs-devel@gnu.org > Date: Wed, 10 Nov 2010 14:03:05 -0500 >=20 > > You are cherry-picking here; cherry-picking is explicitly not tra= cked > > in the history DAG. >=20 > Actually, I'm not cherry-picking I think you are. From the docs of "bzr merge": When merging a branch, by default the tip will be merged. To pick = a different revision, pass --revision. If you specify two values, th= e first will be used as BASE and the second one as OTHER. Merging individual revisions, or a subset of available revisions, like this= is commonly referred to as =E2=80=9Ccherrypicking=E2=80=9D. > Since all changes until A have been merged, merging A..B will end u= p > with all changes until B: I'm not picking some changes and avoiding > others. And indeed >=20 > bzr merge -r A..B >=20 > will correctly track the history in the case where A has already be= en > merged and committed. Maybe it's some exception, for when A is the BASE revision; the rule (AFAIU) is what I quote above. When I use "merge -r", I don't expect bzr to track the merge in the branch history. Perhaps you need to ask about this on the Bazaar list. > > Why is that a problem, in the context of this discussion (merging= from > > a release branch to the trunk)? >=20 > Because, in order to cherry-pick, I merge the various parts of the > emacs-23 branch differently, so I need to issue various "bzr merge" > commands to merge the branch bit by bit. I still don't understand the problem. Maybe it will become more clea= r if you could show what you'd like to do, as opposed to what you need to do, due to these limitations. > >> And the fact that > >> bzr merge -r A > >> bzr merge --force -r B > >> applies the A changes twice is another bug. >=20 > > I think this is again because cherry-picking is not tracked, so b= zr > > doesn't "know" A is already there. In a nutshell, when you > > cherry-pick, you need to do your own bookkeeping. >=20 > Where do you see cherry-picking in the above commands: the -r argum= ent > always specifies just a revision on the branch, not a "A..B". AFAIU, "-r A" is just a shorthand for "-r A..-1". If A is an arbitrary revision on the branch being merged, you just cherry-pick all the revisions from A to the branch tip.