Gitlab release tarball stability

Reply by andr_ from #gitlab IRC channel to the question “are release source tarball regenerated from time to time in gitlab?”:

not a gitlab dev but a short answer is: yes. Longer: after generation, the archives are kept in a cache. Cache can be purged at any time. Hovewer, the archives are gnerated by git archive under the hood by the gitaly service (gitaly/internal/service/repository/archive.go+134) which preserves dates when used with commits. However2: I don’t see a test that would cover the immutability so I think you might want to file an issue to gitaly on that because the underlying generation mechanism might change in the future.

From the git archive manual:

git archive behaves differently when given a tree ID versus when given a commit ID or tag ID. In the first case the current time is used as the modification time of each file in the archive. In the latter case the commit time as recorded in the referenced commit object is used instead.

1 Like