Commit 76b51f90 authored by Yann E. MORIN's avatar Yann E. MORIN Committed by Peter Korsgaard
Browse files

support/download: generate reproducible Hg archives



When hg directly creates the output file, the hash for that file changes
everytime.

However, if we just tell hg to output the archive on stdout and we do
the redirect to the file, then the archive is reproducible.

(The reason is that in the first case, a temporary file is created and
then compressed, and gzip is adding the filename and its timestamp in
the gzip header, while in the second case, there is no temporary file,
and thus no timestamp and thus it is reproducible.)

Signed-off-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
Tested-by: default avatarYegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: default avatarPeter Korsgaard <peter@korsgaard.com>
parent 9c407234
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -35,4 +35,4 @@ _hg clone ${verbose} --noupdate "'${repo}'" "'${basename}'"

_hg archive ${verbose} --repository "'${basename}'" --type tgz \
            --prefix "'${basename}'" --rev "'${cset}'" \
            "'${output}'"
            - >"${output}"