Erstens: Ich bin mir des allgemeinen Kommentars bewusst: Generierte Dateien nicht verfolgen.Machen Sie git das Datum in PDF-Dateien ignorieren
Angenommen, ich möchte generierte PDFs nachverfolgen und das Datum ignorieren, das in das PDF geschrieben wurde. Das heißt, ich möchte zwei PDFs als gleich behandeln, wenn der einzige Unterschied die Datumsinformation ist.
Was ich versucht habe, ist ein Filter, der - in seinem sauberen Teil - das Datum auf einen beliebigen Wert setzt.
(--- Kommentar ----
im Grunde funktioniert der Filter etw zusammen:
## dump the pdf metadata to a file and replace the dates
pdftk "$FILENAME" dump_data | sed -e '{N;s/Date\nInfoValue: D:.*/Date\nInfoValue: D:19790101072619/}' > "$TMPFILE"
## update the pdf metadata
pdftk "$FILENAME" update_info "$TMPFILE" output "$TMPFILE2"
) --- Ende Kommentar ----
Der Filter arbeitet (die engagierte pdf hat das Datum auf meinen willkürlichen Wert gesetzt) aber ich lief in files re-checked out from git repository with 'clean' filter end up with modified status
Also, mein Filter ist anscheinend nicht das, was ich hier tun möchte.
Meine Frage ist:
1) Kann ich einen cleveren Filteransatz verwenden, um git die Datumswerte in der PDF vollständig zu ignorieren? Und wie?
oder
2) Was wäre der richtige Ansatz, wenn nicht Filter?
Wie hast du dein Skript idempotent gemacht? Ich stehe vor demselben Problem. – rodion
Meine einfache Lösung war eine explizite Prüfung: '## wenn die Metadaten nicht geändert haben, nichts tun wenn Diff" $ TMPFILE3 "" $ TMPFILE "; dann rm "$ TMPFILE3"; rm "$ TMPFILE"; if [-n $ FILEASARG]; dann \t Katze "$ FILENAME" fi Ausfahrt 0 fi '(Entschuldigung für die schlechte Formatierung ...) – Andreas