Requested Feature: (short description)
Change GZIP command to create deterministic compressed files, so that automatic deployments can diff the files.
Related Area: (eg. tasks, compilers, configuration, templates…)
GZIP task
Do you want to contribute this yourself as a pull request? (don’t worry about it if you don’t want to/can’t — someone else can take care of it)
[x] Yes, I have already written code for it (link if available and feasible)
[ ] Yes, I don’t have code ready yet (that’s okay!)
[ ] No (that’s okay too!)
Does this feature affect backwards compatibility? If yes, in what way?
Probably not, just in the way that gzip files wouldn't contain the compression time anymore.
Rationale and full description: (why should it be added to Nikola?)
It's a minimal change without downside to most users.
The GZIP compression files can be easily diffed by any method after this change and therefore automatic deployment via nikola-action can be sped up significantly, due to files not accidentally showing up as changed / updated.
The change is just adding mtime=0 to the Gzipfile() call here:
Requested Feature: (short description) Change GZIP command to create deterministic compressed files, so that automatic deployments can diff the files.
Related Area: (eg. tasks, compilers, configuration, templates…) GZIP task
Do you want to contribute this yourself as a pull request? (don’t worry about it if you don’t want to/can’t — someone else can take care of it)
Does this feature affect backwards compatibility? If yes, in what way? Probably not, just in the way that gzip files wouldn't contain the compression time anymore.
Rationale and full description: (why should it be added to Nikola?) It's a minimal change without downside to most users.
The GZIP compression files can be easily diffed by any method after this change and therefore automatic deployment via nikola-action can be sped up significantly, due to files not accidentally showing up as changed / updated.
The change is just adding
mtime=0
to theGzipfile()
call here:/nikola/plugins/task/gzip.py