From: Jonathan Nieder <jrnieder@gmail.com>
To: tytso@mit.edu
Cc: jeffpc@josefsipek.net, Git Mailing List <git@vger.kernel.org>,
Jeff King <peff@peff.net>
Subject: Re: [PATCH] guilt: Make sure the commit time is increasing
Date: Tue, 6 Jul 2010 03:03:22 -0500 [thread overview]
Message-ID: <20100706080322.GA2856@burratino> (raw)
In-Reply-To: <20100705192201.GI25518@thunk.org>
tytso@mit.edu wrote:
> On Mon, Jul 05, 2010 at 02:52:38PM -0400, jeffpc@josefsipek.net wrote:
>> if I commit, and immediately after push 10 patches, wouldn't the HEAD end up
>> with a commit that's ~10 minutes in the future?
I don’t think git has ever required commit dates to be _strictly_
monotonic.
At one point rev-list did require monotonic --- i.e., the committer
date of each commit had to be equal to or later than that of each of
its parents) with no clock skew but that was considered a bug and
fixed by v1.5.5-rc1~16 (Make revision limiting more robust against
occasional bad commit dates, 2008-03-17)
> diff --git a/guilt b/guilt
> index b6e2a6c..edcfb34 100755
> --- a/guilt
> +++ b/guilt
> @@ -535,6 +535,17 @@ commit()
> export GIT_AUTHOR_EMAIL="`echo $author_str | sed -e 's/[^<]*//'`"
> fi
>
> + ct=$(git log -1 --pretty=%ct)
> + if [ $ct -gt $(stat -c %Y "$p") ]; then
> + echo "Adjusting mod time of" $(basename "$p")
> + ct=$(expr $ct + 60)
> + if [ $ct -gt $(date +%s) ]; then
> + touch "$p"
> + else
> + touch -d @$(expr $ct + 60) "$p"
So I would suggest
echo "Adjusting mod time of $(basename "$p")"
touch -d "$ct" "$p"
If the parent commit time happens to be in the future, well, at
least we’re not making it worse.
By the way, I think your idea to have commit warn about nonmonotonic
commit dates is a good one. We should also decide on a rule,
hopefully one the kernel repo obeys (30 days max skew? *crosses
fingers*) and make git fsck warn loudly about violations.
next prev parent reply other threads:[~2010-07-06 8:04 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-05 2:23 [PATCH] guilt: Make sure the commit time is increasing Theodore Ts'o
2010-07-05 2:51 ` tytso
2010-07-05 3:01 ` jeffpc
2010-07-05 2:59 ` jeffpc
2010-07-05 11:06 ` Theodore Tso
2010-07-05 18:52 ` jeffpc
2010-07-05 19:22 ` tytso
2010-07-06 8:03 ` Jonathan Nieder [this message]
2010-07-06 10:56 ` Theodore Tso
2010-07-06 15:09 ` Jonathan Nieder
2010-07-06 17:12 ` tytso
2010-07-06 17:29 ` Jonathan Nieder
2010-07-06 13:53 ` Erik Faye-Lund
2010-07-06 14:29 ` Jeff King
2010-07-06 15:02 ` Erik Faye-Lund
2010-07-06 17:21 ` tytso
2010-07-06 17:29 ` jeffpc
2010-07-06 18:57 ` tytso
2010-07-14 3:01 ` Josef 'Jeff' Sipek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100706080322.GA2856@burratino \
--to=jrnieder@gmail.com \
--cc=git@vger.kernel.org \
--cc=jeffpc@josefsipek.net \
--cc=peff@peff.net \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).