Re: date change of commit?
- From
Thomas Rast <trast@student.ethz.ch>
- Date
- Oct 29, 2009, 16:43 UTC
- Message-ID
- <200910291743.53701.trast@student.ethz.ch>
- In-Reply-To
- <4AE9AAE7.2080404@dawes.za.net>
Rogan Dawes wrote:
Show 10 quoted lines
> Alex K wrote: > > And how do you actually set those variables? Sorry to ask such a > > trivial question but it's been an hour that i'm going through the doc > > for such a simple feature. I thought those were environment variables > > As you suspected, they are environment variables. > > i.e. : > > $ GIT_AUTHOR_DATE="1112911993 -0700" git commit x
Since this was in the context of git-filter-branch, I should point out that you'll have to use the variables with --env-filter and (like the manpage says) make sure you export them.
So to change the date of a single commit with SHA1 <sha1>, you could say
git filter-branch --env-filter '
if [ $GIT_COMMIT = <sha1> ]; then
export GIT_AUTHOR_DATE="1112911993 -0700"
export GIT_COMMITTER_DATE="1112911993 -0700"
fi
' <other_arguments>Alex K wrote:
> for such a simple feature
I'm not sure if you're referring to setting the variables or actually rewriting the commits here, but anyway:
The reason why the latter is so hard is that rewriting "old" history is a _huge_ hassle for people who already have the previous version of that history.
That being said, _why_? The dates are never a guarantee that something happened earlier or later precisely because they can easily be modified at commit time. So nobody should take them as more than a hint, and there's little use in faking hints.
--
Thomas Rast
trast@{inf,student}.ethz.ch