On Sun, Jun 14, 2015 at 12:37:00PM +0200, Magnus Hagander wrote: > On Fri, Jun 12, 2015 at 4:33 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: > > Andrew Dunstan <and...@dunslane.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. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers