From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Stephen J. Turnbull" Newsgroups: gmane.emacs.devel Subject: Re: Wrong commit message. What to do now? Date: Wed, 14 Jul 2010 12:23:17 +0900 Message-ID: <87vd8ihhlm.fsf@uwakimon.sk.tsukuba.ac.jp> References: <8739vndo36.fsf@red-bean.com> <87pqyrc8am.fsf@telefonica.net> <87mxtvc6pf.fsf@red-bean.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1279078188 19832 80.91.229.12 (14 Jul 2010 03:29:48 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 14 Jul 2010 03:29:48 +0000 (UTC) Cc: =?iso-8859-1?Q?=D3scar?= Fuentes , emacs-devel@gnu.org To: Karl Fogel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jul 14 05:29:46 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 1OYsfK-0006Nj-9h for ged-emacs-devel@m.gmane.org; Wed, 14 Jul 2010 05:29:46 +0200 Original-Received: from localhost ([127.0.0.1]:60113 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OYsfJ-0007Mb-NS for ged-emacs-devel@m.gmane.org; Tue, 13 Jul 2010 23:29:45 -0400 Original-Received: from [140.186.70.92] (port=46872 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OYsfD-0007M6-UG for emacs-devel@gnu.org; Tue, 13 Jul 2010 23:29:41 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OYsfC-0005zi-CC for emacs-devel@gnu.org; Tue, 13 Jul 2010 23:29:39 -0400 Original-Received: from mtps01.sk.tsukuba.ac.jp ([130.158.97.223]:59443) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OYsfB-0005zE-QC for emacs-devel@gnu.org; Tue, 13 Jul 2010 23:29:38 -0400 Original-Received: from uwakimon.sk.tsukuba.ac.jp (uwakimon.sk.tsukuba.ac.jp [130.158.99.156]) by mtps01.sk.tsukuba.ac.jp (Postfix) with ESMTP id DA20F1535AE; Wed, 14 Jul 2010 12:29:34 +0900 (JST) Original-Received: by uwakimon.sk.tsukuba.ac.jp (Postfix, from userid 1000) id 265941A2691; Wed, 14 Jul 2010 12:23:17 +0900 (JST) In-Reply-To: <87mxtvc6pf.fsf@red-bean.com> X-Mailer: VM 8.0.12-devo-585 under 21.5 (beta29) "garbanzo" ed3b274cc037 XEmacs Lucid (x86_64-unknown-linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) 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:127245 Archived-At: Karl Fogel writes: > =D3scar Fuentes writes: > >> The ChangeLog is correct; just the bzr commit message is wrong. Does > >> anyone know if there's anything that can be done about this?=20=20 > > > >Aren't you the guy who work on the same office as the Bazaar hackers? >=20 > :-) No -- I don't now, but anyway I was never co-located with them. >=20 > I wish I knew how to solve this mis-message problem. It's a pretty > important use case. Real solution requires changing Bazaar -------------------------------------- Stefan has proposed (IIRC) a solution in which the commit message is an annotation on the commit object, rather than part of the hashed metadata that gives the commit its identity. This fills me with foreboding; I can expand on that, but it's "feelings" so this is not the place. It certainly is technically workable, and might even be backward compatible with the right implementation.[1] git uses a different method, adding a concept of "annotations to a commit," which are not part of the commit's identity but are automatically displayed by tools like "git log". AIUI, this is backward compatible, but old git versions can't see the annotations. I suspect this would be fairly easy to implement in Bazaar, but I don't know anything about the relevant internals. I "like" this approach better, but can't prove it. Workarounds in Bazaar --------------------- Empty commit with correct log message. Do this on a branch if necessary to associate it directly with the commit whose log needs correction. Append "(empty commit - correction of log message)" to the log message. If on a branch, the merge log message should be "Correct log message of revid:stupid-bazaar-format-id-XXXXXXX." Duplicate commit on a branch with correct log message. This has the potential to cause a conflict, but you'll probably get lucky. Merge with merge log message as above. Tag the commit with "XXX-ignore-bogus-commit-log-use-ChangeLog" where XXX is a uniquifier for this style of tag. Suggested workflow changes -------------------------- Don't use bound branches. Always review log messages of commits you are about to push. Use something like Didier Verna's patcher.el to ensure that all of the work on a particular change is done consistently. Footnotes:=20 [1] All the dodges I've thought of that make this possible are (a) ugly and (b) mean that old Bazaar versions would not be able to display log messages written by new Bazaar versions.