Re: make git ignore the timestamp embedded in PDFs
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- May 18, 2013, 16:32 UTC
- Message-ID
- <5197AD3A.5050500@kdbg.org>
- In-Reply-To
- <87ppwohgyd.fsf@med.uni-goettingen.de>
Am 18.05.2013 09:42, schrieb Andreas Leha:
Show 27 quoted lines
>> Am 14.05.2013 15:17, schrieb Andreas Leha: >>> Hi all, >>> >>> how can I make git ignore the time stamp(s) in a PDF. Two PDFs that >>> differ only in these time stamps should be considered identical. >>> ... >>> What I tried is a filter: >>> ,----[ ~/.gitconfig ] >>> | [filter "pdfresetdate"] >>> | clean = pdfresetdate >>> `---- >>> >>> This 'works' as far as the committed pdf indeed has the date reset to my >>> default value. >>> >>> However, when I re-checkout the files, they are marked modified by git. >> >> I'm using cleaned files every now and then, but not on Linux. I have >> never observed this behavior recently. >> >> If you 'git add' the file, does it keep its modified state? Does 'git > > yes. > >> diff' tell a difference? > > no.
I do not believe you. I'm sure that "Binary files differ" was reported. The reason is that your pdfresetdate script is not idempotent. Look:
$ pdfresetdate < x.pdf > y.pdf $ pdfresetdate < y.pdf > z.pdf $ md5sum x.pdf y.pdf z.pdf c46a7097574a035e89d1a46d93c83528 x.pdf 8e6d942b4cc7d8a4dfe6898867573617 y.pdf e6333bc0f8ab9781d3e1d811a392d516 z.pdf
A file that was already cleaned by the clean filter must not be modified, i.e., the y.pdf and z.pdf should be identical. But they are not.
Fix your clean filter.
-- Hannes