Stream repo zip/tar.gz/bundle achives by default #12688

Closed
opened 2025-11-02 10:18:11 -06:00 by GiteaMirror · 0 comments
Owner

Originally created by @silverwind on GitHub (Mar 20, 2024).

Originally assigned to: @ChristopherHX on GitHub.

Feature Description

A common problem that users report is their disk running out of space because of all the repo archive "caches". I propose a new option repository.STREAM_ARCHIVES which by default would be enabled and which will directly stream the compressed bytestream to the client, which will:

  1. Improve initial download performance as the POST+GET negotiation on UI goes away and it will be pure GET.
  2. Reduce performance on subsequent downloads, because there is no cache anymore, but busy instances with enough disk space can opt into cache by disabling the option.
  3. Eliminate any worries regard the disk running out of space.
  4. Prevent the client from showing download progress because content-length will not be communicated to the client for streamed downloads.
Originally created by @silverwind on GitHub (Mar 20, 2024). Originally assigned to: @ChristopherHX on GitHub. ### Feature Description A common problem that users report is their disk running out of space because of all the repo archive "caches". I propose a new option `repository.STREAM_ARCHIVES` which by default would be enabled and which will directly stream the compressed bytestream to the client, which will: 1. Improve initial download performance as the POST+GET negotiation on UI goes away and it will be pure GET. 2. Reduce performance on subsequent downloads, because there is no cache anymore, but busy instances with enough disk space can opt into cache by disabling the option. 3. Eliminate any worries regard the disk running out of space. 4. Prevent the client from showing download progress because `content-length` will not be communicated to the client for streamed downloads.
GiteaMirror added the type/proposal label 2025-11-02 10:18:11 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/gitea#12688