From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Christopher Allan Webber Newsgroups: gmane.emacs.devel Subject: Re: Is it time to drop ChangeLogs? Date: Mon, 07 Mar 2016 19:41:07 -0800 Message-ID: <87ziu9wsa4.fsf@dustycloud.org> References: <56BE7E37.3090708@cs.ucla.edu> <4hd1rw1ubr.fsf@fencepost.gnu.org> <83vb50wxhv.fsf@gnu.org> <87y49vz4cg.fsf@acer.localhost.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1457408498 9924 80.91.229.3 (8 Mar 2016 03:41:38 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 8 Mar 2016 03:41:38 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Mar 08 04:41:28 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ad8WU-00077U-EY for ged-emacs-devel@m.gmane.org; Tue, 08 Mar 2016 04:41:26 +0100 Original-Received: from localhost ([::1]:59960 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ad8WT-0001Q0-OK for ged-emacs-devel@m.gmane.org; Mon, 07 Mar 2016 22:41:25 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43676) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ad8WH-0001Pp-3H for emacs-devel@gnu.org; Mon, 07 Mar 2016 22:41:14 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ad8WD-0002tq-Pt for emacs-devel@gnu.org; Mon, 07 Mar 2016 22:41:12 -0500 Original-Received: from dustycloud.org ([50.116.34.160]:58562) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ad8WD-0002tm-LI for emacs-devel@gnu.org; Mon, 07 Mar 2016 22:41:09 -0500 Original-Received: from oolong (localhost [127.0.0.1]) by dustycloud.org (Postfix) with ESMTPS id 006C926736; Mon, 7 Mar 2016 22:41:07 -0500 (EST) User-agent: mu4e 0.9.13; emacs 24.5.1 In-reply-to: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 50.116.34.160 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:201111 Archived-At: Stefan Monnier writes: >> I'd like to open this up to discussion on emacs-devel, so that we hear from >> our other developers. What do you all think about ChangeLogs, and their value >> to you in your work on Emacs? > > The ChangeLog format's rules gives a very good baseline for that. > Even if some of that info seems redundant, the act of describing all the > parts that are changed, encourages the coder to pay attention to every > part of the diff she's about to commit. > [...] > My experience (when trying to figure out, years later, why such and such > line of code was changed in that particular way) is that ChangeLog-style > details don't always give you the info you want, but at least they tend > to say *something* about your particular line (because they have to talk > about every part of the diff), whereas the high level description is > too often too high-level and hence not detailed enough for that. > > > Stefan Unlike most others to this list, I am relatively new to ChangeLog style messages. I only started making commits with them over the last year, because of contributing to Guix (and less so to Guile). I have mixed feelings about the whole thing, probably learning towards positive, but not entirely. Here's maybe a summary of a lot of the points I'm seeing raised (and my own conflicted thoughts too): - It does seem like there's duplication of data between vc commits and ChangeLog files. So for the most part, just having that data be *in* the commit message makes most sense, and thus so does extracting it after to produce the ChangeLog. - Unless you make a mistake in the commit message of course! Then I don't know what you do. Nobody in Guix seems too worried about it, so... - ChangeLog style commits did take me a bit to do right, and I did not find the GNU Coding Standards easy for me to understand clearly. So initially I mimed the look and feel from other committers in Guix, and eventually it began to make sense. This does seem like an extra barrier, but it does seem like the kind of workflow I go through for most skills which eventually become intuitive anyway. - That said I do think I developed better, cleaner commit message hygeine after adopting ChangeLog style commit messages. - Though some of it still feels redundant! - Prior to this, I mostly used "git log" and vc-annotate to find things. (vc-annotate is awesome, btw.) Usually it worked just great. Though... when it didn't, it could be a big headache. Refactoring of files into other files, or large reindenting of Python files for instance, are hard to reason about after those kinds of commits. So is it worth it? I don't know! But those seem like the main points to me, from my own (relatively newcomer to the format) experiences. - Chris