From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18180 invoked by alias); 8 Sep 2014 13:08:45 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 18158 invoked by uid 89); 8 Sep 2014 13:08:40 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.8 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mailapp01.imgtec.com Received: from mailapp01.imgtec.com (HELO mailapp01.imgtec.com) (195.59.15.196) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 08 Sep 2014 13:08:39 +0000 Received: from KLMAIL01.kl.imgtec.org (unknown [192.168.5.35]) by Websense Email Security Gateway with ESMTPS id F16443E1DFE0E; Mon, 8 Sep 2014 14:08:32 +0100 (IST) Received: from KLMAIL02.kl.imgtec.org (10.40.60.222) by KLMAIL01.kl.imgtec.org (192.168.5.35) with Microsoft SMTP Server (TLS) id 14.3.195.1; Mon, 8 Sep 2014 14:08:35 +0100 Received: from LEMAIL01.le.imgtec.org (192.168.152.62) by klmail02.kl.imgtec.org (10.40.60.222) with Microsoft SMTP Server (TLS) id 14.3.195.1; Mon, 8 Sep 2014 14:08:35 +0100 Received: from [192.168.154.101] (192.168.154.101) by LEMAIL01.le.imgtec.org (192.168.152.62) with Microsoft SMTP Server (TLS) id 14.3.195.1; Mon, 8 Sep 2014 14:08:34 +0100 Message-ID: <540DAA52.2000103@imgtec.com> Date: Mon, 08 Sep 2014 13:08:00 -0000 From: James Hogan User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Gary Benson , Doug Evans CC: Sergio Durigan Junior , Andreas Schwab , Joel Brobecker , gdb , Andreas Arnez Subject: Re: ChangeLogs in commit messages References: <20140814125224.GF4924@adacore.com> <8761h4fmu4.fsf@redhat.com> <87mwage6x2.fsf@redhat.com> <871trsuz55.fsf@igel.home> <20140904090616.GA23758@blade.nx> <87y4tzcvny.fsf@redhat.com> <20140904173624.GA10113@blade.nx> <20140905101324.GA3731@blade.nx> <20140908095029.GA24266@blade.nx> In-Reply-To: <20140908095029.GA24266@blade.nx> Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2014-09/txt/msg00023.txt.bz2 On 08/09/14 10:50, Gary Benson wrote: > Doug Evans wrote: >> On Fri, Sep 5, 2014 at 3:13 AM, Gary Benson wrote: >>> Gary Benson wrote: >>>> Doug Evans wrote: >>>>> If I do a git blame of server.c I see patch 860789c7 with a >>>>> date of 2014-08-08. That's three weeks before it was pushed >>>>> upstream. Bleah. I'd really like to be able to do a git >>>>> blame and have what I see be useful, including the date. The >>>>> author date is basically useless to me. >>>> >>>> I see some options to git-rebase, --committer-date-is-author-date >>>> and --ignore-date. I'll experiment with these the next time I >>>> rebase something and see what happens. >>> >>> Running "git rebase --ignore-date gdb/master" immediately prior to >>> pushing sets both author and commit dates to the present time on >>> all commits you are about to push. >> >> Cool. Can you add that to the contribution checklist? > > https://sourceware.org/gdb/wiki/ContributionChecklist#Fixing_commit_dates > > If we add a server-side hook to check that the ChangeLog messages in > the commit messages are correct we could also use that hook to check > that the dates in commits match the dates in the ChangeLog files. IMHO this is a really bad idea. You're suggesting discarding/falsifying genuine information (the authorship dates) from the git history for no good reason since the information you want to store is already there in the commit date. 1) "the commit dates are wrong". you probably mean the author dates are unchanged, since the committer dates get reset by default whenever a commit is recommitted (written, i.e. commit --amend, rebased, cherry picked etc). 2) The commit date should reflect roughly what you want already. You need to rebase if anybody else has pushed to the branch in order to keep the history linear anyway which will reset the committer dates, which also means they'll be in order as you'd expect. The author date is supposed to reflect when the patch was authored, not when it was committed/pushed (or in the case of git-send-email/git-am it's the date it was sent to the mailing list). FYI it allows you to: * get information about author's habits (what hours they usually work) and timezone, and when they were active in the project, separate from the committer. E.g. github shows this information in it's contributions section for each user, organised by day of the week. * gives you a better idea of the real age of the patch. * make it easier to distinguish which version of a patch was applied and find it in the mailing list archives. * allows you to see more easily how quickly patches are getting upstream And all that regardless of whether it has been cherry picked onto a stable branch at a later date, maybe even after the author has moved on to other things (cherry-picking usually only changes the commit date). Cheers James