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: Workflow to accumulate individual changes? Date: Fri, 01 Jan 2010 23:59:20 +0900 Message-ID: <873a2pooqf.fsf@uwakimon.sk.tsukuba.ac.jp> References: <87637of4y8.fsf@kobe.laptop> <87oclfdzs2.fsf@kobe.laptop> <87hbr6jwsy.fsf@telefonica.net> <83my0yfc9g.fsf@gnu.org> 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: ger.gmane.org 1262357447 2008 80.91.229.12 (1 Jan 2010 14:50:47 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 1 Jan 2010 14:50:47 +0000 (UTC) Cc: =?iso-8859-1?Q?=D3scar?= Fuentes , emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jan 01 15:50:40 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.50) id 1NQiop-0001an-6p for ged-emacs-devel@m.gmane.org; Fri, 01 Jan 2010 15:49:35 +0100 Original-Received: from localhost ([127.0.0.1]:56684 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NQiop-0005Ja-PV for ged-emacs-devel@m.gmane.org; Fri, 01 Jan 2010 09:49:35 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NQiof-0005Ct-06 for emacs-devel@gnu.org; Fri, 01 Jan 2010 09:49:25 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NQioZ-00059I-Ur for emacs-devel@gnu.org; Fri, 01 Jan 2010 09:49:24 -0500 Original-Received: from [199.232.76.173] (port=52748 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NQioZ-00058t-Md for emacs-devel@gnu.org; Fri, 01 Jan 2010 09:49:19 -0500 Original-Received: from mtps01.sk.tsukuba.ac.jp ([130.158.97.223]:50917) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NQioS-00078x-Kz; Fri, 01 Jan 2010 09:49:13 -0500 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 2B7231535A8; Fri, 1 Jan 2010 23:49:11 +0900 (JST) Original-Received: by uwakimon.sk.tsukuba.ac.jp (Postfix, from userid 1000) id 658D81A33D7; Fri, 1 Jan 2010 23:59:20 +0900 (JST) In-Reply-To: <83my0yfc9g.fsf@gnu.org> X-Mailer: VM 8.0.12-devo-585 under 21.5 (beta29) "garbanzo" 1444e28f1a3d XEmacs Lucid (x86_64-unknown-linux) X-detected-operating-system: by monty-python.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:119207 Archived-At: Eli Zaretskii writes: > > From: =D3scar_Fuentes > > Date: Fri, 01 Jan 2010 05:03:57 +0100 > >=20 > > Richard Stallman writes: > >=20 > > > Is there no way to fix an error in a commit message? > >=20 > > You can undo a commit with `bzr uncommit'. >=20 > But the issue is not to undo the commit, only fix the text of the > commit message. Something similar to "cvs admin -mREV:MESSAGE". There's no reason practical or otherwise not to do uncommit, then commit again, as long as you're on a private branch. git and darcs provide "git commit --amend" and "darcs amend-commit" which do exactly what you want, except that they change the identity of the commit (see below). Eg as a shell function bzr-amend-last-commit () { COMMIT_LOG=3D$1 bzr uncommit bzr commit -m "$COMMIT_LOG" } There are also filter-branch capabilities in both git and bzr (quite expensive in bzr, though) that would allow you to amend an old commit log on a private branch. If I really needed to fix a message in a published git branch I would use a heavyweight tag named "README-something". I don't think there's anything similar in bzr, though. > Typos in commit messages still can happen, even with bzr ;-) This has been endlessly discussed on at least the Darcs and Bazaar lists. The gist is that the commit log is part of the historical record, and is checksummed, along with the rest of the history data (eg date and author information). This checksum becomes part of the revision identifier, and thus if you change any of the data, including the commit log, you've changed the identity of the revision. As described elsewhere, that revision identifier is used in various places; it's not an implemention-internal datum. I don't think there's any theoretical problem with attaching the log message externally (at least, external to the checksummed content) as a comment, somehow. However, from personal experience I can say that while I still make the same number of typos in log messages as when I was using CVS, I make far fewer errors of the form of omitting important information because I commit much more frequently and my log messages are both shorter (per message) and more detailed. So I suspect you'd get resistence to such a suggestion, both on principle ("The log message is part of history") and practically ("there's no real benefit, it would take work to do, and it slightly weakens our internal consistency guarantee").