mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-13 19:37:47 -05:00
Feature request: Use zstandard compression instead of zip for gitea dump? #6658
Closed
opened 2025-11-02 07:02:50 -06:00 by GiteaMirror
·
8 comments
No Branch/Tag Specified
main
release/v1.25
release/v1.24
release/v1.23
release/v1.22
release/v1.21
release/v1.20
release/v1.19
release/v1.18
release/v1.17
release/v1.16
release/v1.15
release/v1.14
release/v1.13
release/v1.12
release/v1.11
release/v1.10
release/v1.9
release/v1.8
v1.25.3
v1.25.2
v1.25.1
v1.25.0
v1.24.7
v1.25.0-rc0
v1.26.0-dev
v1.24.6
v1.24.5
v1.24.4
v1.24.3
v1.24.2
v1.24.1
v1.24.0
v1.23.8
v1.24.0-rc0
v1.25.0-dev
v1.23.7
v1.23.6
v1.23.5
v1.23.4
v1.23.3
v1.23.2
v1.23.1
v1.23.0
v1.23.0-rc0
v1.24.0-dev
v1.22.6
v1.22.5
v1.22.4
v1.22.3
v1.22.2
v1.22.1
v1.22.0
v1.23.0-dev
v1.22.0-rc1
v1.21.11
v1.22.0-rc0
v1.21.10
v1.21.9
v1.21.8
v1.21.7
v1.21.6
v1.21.5
v1.21.4
v1.21.3
v1.21.2
v1.20.6
v1.21.1
v1.21.0
v1.21.0-rc2
v1.21.0-rc1
v1.20.5
v1.22.0-dev
v1.21.0-rc0
v1.20.4
v1.20.3
v1.20.2
v1.20.1
v1.20.0
v1.19.4
v1.21.0-dev
v1.20.0-rc2
v1.20.0-rc1
v1.20.0-rc0
v1.19.3
v1.19.2
v1.19.1
v1.19.0
v1.19.0-rc1
v1.20.0-dev
v1.19.0-rc0
v1.18.5
v1.18.4
v1.18.3
v1.18.2
v1.18.1
v1.18.0
v1.17.4
v1.18.0-rc1
v1.19.0-dev
v1.18.0-rc0
v1.17.3
v1.17.2
v1.17.1
v1.17.0
v1.17.0-rc2
v1.16.9
v1.17.0-rc1
v1.18.0-dev
v1.16.8
v1.16.7
v1.16.6
v1.16.5
v1.16.4
v1.16.3
v1.16.2
v1.16.1
v1.16.0
v1.15.11
v1.17.0-dev
v1.16.0-rc1
v1.15.10
v1.15.9
v1.15.8
v1.15.7
v1.15.6
v1.15.5
v1.15.4
v1.15.3
v1.15.2
v1.15.1
v1.14.7
v1.15.0
v1.15.0-rc3
v1.14.6
v1.15.0-rc2
v1.14.5
v1.16.0-dev
v1.15.0-rc1
v1.14.4
v1.14.3
v1.14.2
v1.14.1
v1.14.0
v1.13.7
v1.14.0-rc2
v1.13.6
v1.13.5
v1.14.0-rc1
v1.15.0-dev
v1.13.4
v1.13.3
v1.13.2
v1.13.1
v1.13.0
v1.12.6
v1.13.0-rc2
v1.14.0-dev
v1.13.0-rc1
v1.12.5
v1.12.4
v1.12.3
v1.12.2
v1.12.1
v1.11.8
v1.12.0
v1.11.7
v1.12.0-rc2
v1.11.6
v1.12.0-rc1
v1.13.0-dev
v1.11.5
v1.11.4
v1.11.3
v1.10.6
v1.12.0-dev
v1.11.2
v1.10.5
v1.11.1
v1.10.4
v1.11.0
v1.11.0-rc2
v1.10.3
v1.11.0-rc1
v1.10.2
v1.10.1
v1.10.0
v1.9.6
v1.9.5
v1.10.0-rc2
v1.11.0-dev
v1.10.0-rc1
v1.9.4
v1.9.3
v1.9.2
v1.9.1
v1.9.0
v1.9.0-rc2
v1.10.0-dev
v1.9.0-rc1
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.8.0-rc3
v1.7.6
v1.8.0-rc2
v1.7.5
v1.8.0-rc1
v1.9.0-dev
v1.7.4
v1.7.3
v1.7.2
v1.7.1
v1.7.0
v1.7.0-rc3
v1.6.4
v1.7.0-rc2
v1.6.3
v1.7.0-rc1
v1.7.0-dev
v1.6.2
v1.6.1
v1.6.0
v1.6.0-rc2
v1.5.3
v1.6.0-rc1
v1.6.0-dev
v1.5.2
v1.5.1
v1.5.0
v1.5.0-rc2
v1.5.0-rc1
v1.5.0-dev
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc3
v1.4.0-rc2
v1.3.3
v1.4.0-rc1
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc2
v1.3.0-rc1
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc3
v1.2.0-rc2
v1.1.4
v1.2.0-rc1
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.0.2
v1.0.1
v1.0.0
v0.9.99
Labels
Clear labels
$20
$250
$50
$500
backport/done
💎 Bounty
docs-update-needed
good first issue
hacktoberfest
issue/bounty
issue/confirmed
issue/critical
issue/duplicate
issue/needs-feedback
issue/not-a-bug
issue/regression
issue/stale
issue/workaround
lgtm/need 2
modifies/api
modifies/translation
outdated/backport/v1.18
outdated/theme/markdown
outdated/theme/timetracker
performance/bigrepo
performance/cpu
performance/memory
performance/speed
pr/breaking
proposal/accepted
proposal/rejected
pr/wip
pull-request
reviewed/wontfix
💰 Rewarded
skip-changelog
status/blocked
topic/accessibility
topic/api
topic/authentication
topic/build
topic/code-linting
topic/commit-signing
topic/content-rendering
topic/deployment
topic/distribution
topic/federation
topic/gitea-actions
topic/issues
topic/lfs
topic/mobile
topic/moderation
topic/packages
topic/pr
topic/projects
topic/repo
topic/repo-migration
topic/security
topic/theme
topic/ui
topic/ui-interaction
topic/ux
topic/webhooks
topic/wiki
type/bug
type/deprecation
type/docs
type/enhancement
type/feature
type/miscellaneous
type/proposal
type/question
type/refactoring
type/summary
type/testing
type/upstream
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/gitea#6658
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @symgryph on GitHub (Jan 10, 2021).
gitea dump is cool, but would be way cooler if we could use zstandard for compression instead of zip.....
@dsseng commented on GitHub (Apr 1, 2021):
I can try myself on this. Found a good CGO-free implementation: https://pkg.go.dev/github.com/klauspost/compress/zstd . Does anyone mind depending on this? Another option is using system archiver on *nix.
@proailurus commented on GitHub (Nov 22, 2021):
I just made a backup of a large instance and would welcome such a feature.
Zstandard would already be faster, but when using it multithreaded (zstdmt), it could go even faster.
Single-threaded zip/gzip only wastes time these days when we have faster methods readily available.
@tepozoa commented on GitHub (Jul 24, 2022):
(24 Jul 2022) The package already being used, https://github.com/mholt/archiver/v3, (now) supports Zstd. I had a look to
dump.goand I think it might just now be a matter of making sure the import is up to date with the latest stable version and adding thetar.zstdextension to the outputTypeEnum?https://pkg.go.dev/github.com/mholt/archiver/v3#Zstd
@wULLSnpAXbWZGYDYyhWTKKspEQoaYxXyhoisqHf commented on GitHub (Aug 10, 2022):
is it just me or are the resulting archives twice the size of
.zip?I'm a fan of zstd, I am aware of what it can do but if this Gitea setting is using zstd's default compression level (
-3out of 1-19), that might explain the archive size.perhaps exposing some knobs in the future could cater to users wishing to tweak at least the compression levels of zstd...
@symgryph commented on GitHub (Oct 11, 2022):
You can actually specify the level for z standard to use via a environment variable. Look in the reference manuals. I was able to do this with the tar version via a environment variable.
Sincerely
Thomas Munn
From: wULLSnpAXbWZGYDYyhWTKKspEQoaYxXyhoisqHf @.>
Sent: Wednesday, August 10, 2022 7:24:07 AM
To: go-gitea/gitea @.>
Cc: Thomas @.>; Author @.>
Subject: Re: [go-gitea/gitea] Feature request: Use zstandard compression instead of zip for gitea dump? (#14290)
is it just me or are the resulting archives twice the size of .zip?
I'm a fan of zstd, I am aware of what it can do but if this Gitea setting is using zstd's default compression level (-3 out of 1-19), that might explain the archive size.
perhaps exposing some knobs in the future could cater to users wishing to tweak at least the compression levels of zstd...
—
Reply to this email directly, view it on GitHubhttps://github.com/go-gitea/gitea/issues/14290#issuecomment-1210538389, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABCSE3RUPF4NBHRKIZ225ELVYOGNPANCNFSM4V4DKZAQ.
You are receiving this because you authored the thread.Message ID: @.***>
@wULLSnpAXbWZGYDYyhWTKKspEQoaYxXyhoisqHf commented on GitHub (Oct 11, 2022):
thanks for the reply, did you mean somehow using
ZSTD_CLEVELin the process? could you by any chance provide an example command (e.g.gitea dump -c <config> --type <whattype-you-mentioned-tar>?I know you can do
tar <opts> --zstdor eventar <opts> -I"zstd <zstdopts>", but I don't see how that could be used with gitea directly.or did you mean that you were able to make gitea create a tar and then
zstd-compress it?apologies, it just wasn't clear to me from your answer. @symgryph
@symgryph commented on GitHub (Oct 11, 2022):
Fish format set -gx ZSTD_CLEVEL 19
run your command. The set command is fish shell specific, as I ain't doin no bash!
Sincerely
Thomas Munn
From: wULLSnpAXbWZGYDYyhWTKKspEQoaYxXyhoisqHf @.>
Sent: Tuesday, October 11, 2022 1:26:36 PM
To: go-gitea/gitea @.>
Cc: Thomas @.>; Mention @.>
Subject: Re: [go-gitea/gitea] Feature request: Use zstandard compression instead of zip for gitea dump? (#14290)
You can actually specify the level for z standard to use via a environment variable. Look in the reference manuals. I was able to do this with the tar version via a environment variable. Sincerely Thomas Munn
…
________________________________ From: wULLSnpAXbWZGYDYyhWTKKspEQoaYxXyhoisqHf @.> Sent: Wednesday, August 10, 2022 7:24:07 AM To: go-gitea/gitea @.> Cc: Thomas @.>; Author @.> Subject: Re: [go-gitea/gitea] Feature request: Use zstandard compression instead of zip for gitea dump? (#14290https://github.com/go-gitea/gitea/issues/14290) is it just me or are the resulting archives twice the size of .zip? I'm a fan of zstd, I am aware of what it can do but if this Gitea setting is using zstd's default compression level (-3 out of 1-19), that might explain the archive size. perhaps exposing some knobs in the future could cater to users wishing to tweak at least the compression levels of zstd... — Reply to this email directly, view it on GitHub<#14290 (comment)https://github.com/go-gitea/gitea/issues/14290#issuecomment-1210538389>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABCSE3RUPF4NBHRKIZ225ELVYOGNPANCNFSM4V4DKZAQ. You are receiving this because you authored the thread.Message ID: @.***>
thanks for the reply, did you mean somehow using ZSTD_CLEVEL in the process? could you by any chance provide an example command (e.g. gitea dump -c --type ?
I know you can do tar --zstd or even tar -I"zstd ", but I don't see how that could be used with gitea directly.
or did you mean that you were able to make gitea create a tar and then zstd-compress it?
apologies, it just wasn't clear to me from your answer. @symgryphhttps://github.com/symgryph
—
Reply to this email directly, view it on GitHubhttps://github.com/go-gitea/gitea/issues/14290#issuecomment-1275038240, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABCSE3XMQWDSYSSPMLK67FTWCWPMZANCNFSM4V4DKZAQ.
You are receiving this because you were mentioned.Message ID: @.***>
@wULLSnpAXbWZGYDYyhWTKKspEQoaYxXyhoisqHf commented on GitHub (Oct 14, 2022):
should be sth like
exportin bash, or runningENVVAR <command>directly.. will try it out, thanks.