This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author samthursfield
Recipients samthursfield
Date 2015-06-18.12:14:11
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1434629652.82.0.994275977892.issue24465@psf.upfronthosting.co.za>
In-reply-to
Content
I want shutil.make_archive() to produce deterministic output when given identical data as inputs.

Right now there are two holes in this. One is that mtimes might not match. This can be fixed by the caller. The second is that the order that files in a subdirectory get added to the tarfile is not deterministic. This can't be fixed by the caller.

Attached is a trivial patch to sort the results of os.listdir() to ensure the output tarfile is stable.

This only applies to the 'tar' format.

I've attached my testcase for this, which creates 3 tarfiles in /tmp. When this patch is applied, the 3 tarfiles it creates are identical according to `sha1sum`. Without this patch, they are all different.
History
Date User Action Args
2015-06-18 12:14:12samthursfieldsetrecipients: + samthursfield
2015-06-18 12:14:12samthursfieldsetmessageid: <1434629652.82.0.994275977892.issue24465@psf.upfronthosting.co.za>
2015-06-18 12:14:12samthursfieldlinkissue24465 messages
2015-06-18 12:14:12samthursfieldcreate