新しく作成されましたが、同じファイルを繰り返し圧縮しますが、zipのシャサムは変わり続けます。

新しく作成されましたが、同じファイルを繰り返し圧縮しますが、zipのシャサムは変わり続けます。

フォローアップです。同じフォルダにファイルを繰り返し圧縮しますが、シャサムが変わります。本質的に..

リポジトリの一部を圧縮してshaの合計を得るとき、現在のコミットのgit shaを含むファイルを追加しようとしています。

しかし、コードgit rev-parse HEAD > .gitshaを私のzipに追加すると、shasum私のzipは毎秒変わります。 zipコマンドは-Xファイルタイムスタンプを無視するために使用されます。

.gitsha次のファイルのみ試しました。

$ git rev-parse HEAD > .gitsha ; shasum .gitsha
8fa263bc885822ccba03006ea10015ef32da485c  .gitsha

これは時間の経過とともに一貫して維持された。

しかし、圧縮後はもはやshasum一貫性がなくなります。

$ git rev-parse HEAD > .gitsha ; zip -X --quiet -r test.zip .gitsha ; shasum test.zip
26cc38c624f91a1c555d503fdfdecb1ce670274f  test.zip

$ git rev-parse HEAD > .gitsha ; zip -X --quiet -r test.zip .gitsha ; shasum test.zip
b03f7cb654e3aa0d25d18ead5fe1f225bc2aac9f  test.zip

これは数秒間隔で行われる2回の試みです。-Xロゴに制作時間が含まれていない可能性があると思いましたか?動作させる方法はありますか?

更新:郵便番号を削除しても役に立ちませんでした。

$ rm test.zip; git rev-parse HEAD > .gitsha ; zip -X --quiet -r test.zip .gitsha ; shasum test.zip
76c722ccf2df75fb624f9640ad948f4508dd6152  test.zip
$ rm test.zip; git rev-parse HEAD > .gitsha ; zip -X --quiet -r test.zip .gitsha ; shasum test.zip
6bd26d2bc821d9f12806fc81a8ba8c8babcc664a  test.zip

ベストアンサー1

stringszipファイルでコマンド出力を確認します。

$ strings test.zip blah.zip                         
.gitshab9e1355d36643fefe94da0bee81533cd8cbb04d9
.gitshaPK
QH;F
.gitshab9e1355d36643fefe94da0bee81533cd8cbb04d9
QH;F
.gitshaPK

3つの文字列の内容は同じままですが、順序が変更されました。したがって、zipファイルの一部のコンポーネントは順序に完全に依存しない可能性があります。出力を一定にする方法がわかったら、更新します。

おすすめ記事