git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Andreas LehaNext: Andreas Leha
Message 4 of 5 in “make git ignore the timestamp embedded in PDFs”
  1. Andreas LehaMay 14, 2013
  2. Johannes SixtMay 14, 2013
  3. Andreas LehaMay 18, 2013
  4. Johannes SixtMay 18, 2013
  5. Andreas LehaMay 18, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.