aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormerlleu <r.langdorph@gmail.com>2023-09-13 06:14:10 +0200
committerGitHub <noreply@github.com>2023-09-13 12:14:10 +0800
commite6a059a3d0c699e00c05cfa81ab3bfd0598a89a2 (patch)
tree03dfcb2a8267261f4fcd3eacac08c3db62cd5f20
parentaaeec2a3925c8e45c14179a3e6260b92e53197d2 (diff)
downloadgitea-e6a059a3d0c699e00c05cfa81ab3bfd0598a89a2.tar.gz
gitea-e6a059a3d0c699e00c05cfa81ab3bfd0598a89a2.zip
add sparse url in cargo package guide (#26937)
Hello, The current package guide for cargo gives you only the git index, with the HTTP Index stabilized being used as default for crates.io and being better for most use-cases. However, it's not documented that gitea supports the sparse spec, and it does not require the _crates-index git repo for the sparse api. I personally think we should push users to use the sparse instead of the git repository. (Even let users disable crates-index repos if they only want to use sparse)
-rw-r--r--docs/content/usage/packages/cargo.en-us.md13
-rw-r--r--docs/content/usage/packages/cargo.zh-cn.md3
-rw-r--r--templates/package/content/cargo.tmpl3
3 files changed, 14 insertions, 5 deletions
diff --git a/docs/content/usage/packages/cargo.en-us.md b/docs/content/usage/packages/cargo.en-us.md
index d5c2fab6fd..356e7ff0b9 100644
--- a/docs/content/usage/packages/cargo.en-us.md
+++ b/docs/content/usage/packages/cargo.en-us.md
@@ -50,10 +50,11 @@ Add the following text to the configuration file located in the current users ho
default = "gitea"
[registries.gitea]
-index = "https://gitea.example.com/{owner}/_cargo-index.git"
+index = "sparse+https://gitea.example.com/api/packages/{owner}/cargo/" # Sparse index
+# index = "https://gitea.example.com/{owner}/_cargo-index.git" # Git
-[net]
-git-fetch-with-cli = true
+# [net]
+# git-fetch-with-cli = true
```
| Parameter | Description |
@@ -72,6 +73,12 @@ token = "Bearer {token}"
| --------- | ----------- |
| `token` | Your [personal access token](development/api-usage.md#authentication) |
+## Git vs Sparse
+
+Currently, cargo supports two ways for fetching crates in a registry: Git index & sparse index.
+Sparse index is the newest method and offers better performance when updating crates compared to git.
+Since Rust 1.68, sparse is the default method for crates.io.
+
## Publish a package
Publish a package by running the following command in your project:
diff --git a/docs/content/usage/packages/cargo.zh-cn.md b/docs/content/usage/packages/cargo.zh-cn.md
index 126dfd370a..285fe9c8b3 100644
--- a/docs/content/usage/packages/cargo.zh-cn.md
+++ b/docs/content/usage/packages/cargo.zh-cn.md
@@ -50,7 +50,8 @@ Cargo 将可用软件包的信息存储在一个存储在 git 仓库中的软件
default = "gitea"
[registries.gitea]
-index = "https://gitea.example.com/{owner}/_cargo-index.git"
+index = "sparse+https://gitea.example.com/api/packages/{owner}/cargo/" # Sparse index
+# index = "https://gitea.example.com/{owner}/_cargo-index.git" # Git
[net]
git-fetch-with-cli = true
diff --git a/templates/package/content/cargo.tmpl b/templates/package/content/cargo.tmpl
index b7a34632e4..67e003c9d1 100644
--- a/templates/package/content/cargo.tmpl
+++ b/templates/package/content/cargo.tmpl
@@ -8,7 +8,8 @@
default = "gitea"
[registries.gitea]
-index = "<gitea-origin-url data-url="{{AppSubUrl}}/{{.PackageDescriptor.Owner.Name}}/_cargo-index.git"></gitea-origin-url>"
+index = "<gitea-origin-url data-url="sparse+{{AppSubUrl}}/api/packages/{{.PackageDescriptor.Owner.Name}}/cargo/"></gitea-origin-url>" # Sparse index
+# index = "<gitea-origin-url data-url="{{AppSubUrl}}/{{.PackageDescriptor.Owner.Name}}/_cargo-index.git"></gitea-origin-url>" # Git
[net]
git-fetch-with-cli = true</code></pre></div>