From: | Noah Misch <noah(at)leadboat(dot)com> |
---|---|
To: | Magnus Hagander <magnus(at)hagander(dot)net> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Robert Haas <robertmhaas(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: git push hook to check for outdated timestamps |
Date: | 2015-06-24 02:15:08 |
Message-ID: | 20150624021508.GA579497@tornado.leadboat.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sun, Jun 14, 2015 at 12:37:00PM +0200, Magnus Hagander wrote:
> On Fri, Jun 12, 2015 at 4:33 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> > Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
> > > On 06/12/2015 09:31 AM, Robert Haas wrote:
> > >> Could we update our git hook to refuse a push of a new commit whose
> > >> timestamp is more than, say, 24 hours in the past? Our commit history
> > >> has some timestamps in it now that are over a month off, and it's
> > >> really easy to do, because when you rebase a commit, it keeps the old
> > >> timestamp. If you then merge or cherry-pick that into an official
> > >> branch rather than patch + commit, you end up with this problem unless
> > >> you are careful to fix it by hand. It would be nice to prevent
> > >> further mistakes of this sort, as they create confusion.
> >
> > > I think 24 hours is probably fairly generous,
> >
> > Yeah ... if we're going to try to enforce a linear-looking history, ISTM
> > the requirement ought to be "newer than the latest commit on the same
> > branch". Perhaps that would be unduly hard to implement though.
> >
>
> From a quick look at our existing script, I think that's doable, but I'd
> have to do some more detailed verification before I'm sure. And we'd have
> to figure out some way to deal with a push with multiple commits in it, but
> it should certainly be doable if the first one is.
>
> Would we in that case want to enforce linearity *and* recent-ness, or just
> linearity? as in, do we care about the commit time even if it doesn't
> change the order?
If a recency check is essentially free, let's check both. Otherwise,
enforcing linearity alone is a 95% solution that implicitly bounds recency.
> > FWIW, our git_changelog script tries to avoid this problem by paying
> > attention to CommitDate not Date. But I agree that it's confusing when
> > those fields are far apart.
> >
>
> That brings it back to the enforcing - would we want to enforce both those?
May as well. AuthorDate is the main source of trouble. You would need to go
out of your way (e.g. git filter-branch) to push an old CommitDate, but let's
check it just the same.
From | Date | Subject | |
---|---|---|---|
Next Message | Etsuro Fujita | 2015-06-24 02:40:51 | Foreign join pushdown vs EvalPlanQual |
Previous Message | Robert Haas | 2015-06-24 01:13:24 | Re: how is a query passed between a coordinator and a datanode |