From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Yuri Khan Newsgroups: gmane.emacs.devel Subject: Re: Recording the date at which a change was pushed to Savannah Date: Tue, 2 Dec 2014 11:55:27 +0700 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1417496143 3644 80.91.229.3 (2 Dec 2014 04:55:43 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 2 Dec 2014 04:55:43 +0000 (UTC) Cc: Emacs developers To: Glenn Morris Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Dec 02 05:55:38 2014 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 1XvfUw-0001Jh-Hm for ged-emacs-devel@m.gmane.org; Tue, 02 Dec 2014 05:55:38 +0100 Original-Received: from localhost ([::1]:35092 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XvfUw-0006Hf-9X for ged-emacs-devel@m.gmane.org; Mon, 01 Dec 2014 23:55:38 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55401) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XvfUr-0006GF-A2 for emacs-devel@gnu.org; Mon, 01 Dec 2014 23:55:34 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XvfUp-0003d0-Ey for emacs-devel@gnu.org; Mon, 01 Dec 2014 23:55:33 -0500 Original-Received: from mail-ie0-x22e.google.com ([2607:f8b0:4001:c03::22e]:46574) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XvfUn-0003ZK-PD; Mon, 01 Dec 2014 23:55:29 -0500 Original-Received: by mail-ie0-f174.google.com with SMTP id rl12so10902482iec.33 for ; Mon, 01 Dec 2014 20:55:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=r7N5Cc2cSsLVG3wwxcbQphyxTxn3HkP9DFpje+oRqOM=; b=CODmX/Uvpcg9imDK1/tlk77mfMr7sdSpzTw5SJWSlEYMDi7OXkuOE5sQBtt248sEGf vxGkVEoKdYA0Fq/lerkkjs8SkVncEJgu7cZurqoZlvnoH3qIm3FcDYw+ZVGrKvb1rWNR UeRJKRqy6H+StIAnEGGsmBsU5ria727GhpHnbVacDX0q5DRnVDUEe2k2DsOTjE0HMrha rZLhJHQQSVrv9YU5TZ6uRzxAdO896a7yVIE2Maq8ZvB8CZ9g50Yr8LAWMZ2h2vijUnov +DqV6jbiOl4adaD7Os8/nFtE2FZRGAcdT+OgCAHWAqRyVuEmM1ntvKa3Gs7ALOCTSmoF NWiQ== X-Received: by 10.50.79.232 with SMTP id m8mr50310161igx.11.1417496127928; Mon, 01 Dec 2014 20:55:27 -0800 (PST) Original-Received: by 10.107.48.82 with HTTP; Mon, 1 Dec 2014 20:55:27 -0800 (PST) In-Reply-To: X-Google-Sender-Auth: IkRzreObNT9X6SEDTSxuZPw7JEI X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:4001:c03::22e 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:178671 Archived-At: On Tue, Dec 2, 2014 at 8:55 AM, Glenn Morris wrote: > > If I've understood correctly, "the date that a change was applied to the > Emacs repository on Savannah" is not something that is recorded. > Neither of the two dates that git does record correspond to that > (neither of those dates seems especially useful to me). If a single commit is made on a release branch or on master and immediately pushed, then both its Author and Committer dates are reasonably close to the push. If a feature branch is rebased to the current state of a release branch or master and then immediately pushed, then the Committer date of each commit that changed during rebase is reasonably close to the push. If a feature branch is merged into a release branch or master and the merge is immediately pushed, then both dates of the merge commit are reasonably close to the push. The only case when you don=E2=80=99t know the date some commit was pushed i= s if it is one in a long series of commits which was pushed as a fast-forward: A: o---o origin/master \ o---o---o---o master $ git push origin master B: o---o---o---o---o---o origin/master, master To avoid this situation, you can adopt a convention that pushes to release branches and master SHOULD be either single commits made or non-trivially rebased immediately before the push, or explicit merges of other branches. To get from local state A to the desired pre-push state, one does $ git branch my-feature $ git reset --hard origin/master $ git merge --no-ff my-feature $ git push origin master $ git branch -d my-feature o---o---------------o origin/master, master \ / o---o---o---o > I've seen it suggested that enabling the reflog on the server (and > disabling expiry), plus a post-receive hook to add the information to a > note, will do it. E.g.: > > http://mnaoumov.wordpress.com/2013/01/31/git-get-push-date/ In normal circumstances, reflogs are highly volatile. It looks like a bad idea to rely on them.