From 855ebd1e264f3ad8a0cf652d2248eac042a3a892 Mon Sep 17 00:00:00 2001 From: merlleu Date: Wed, 13 Sep 2023 06:14:10 +0200 Subject: [PATCH] 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) --- usage/packages/cargo.en-us.md | 13 ++++++++++--- usage/packages/cargo.zh-cn.md | 3 ++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/usage/packages/cargo.en-us.md b/usage/packages/cargo.en-us.md index d5c2fab6..356e7ff0 100644 --- a/usage/packages/cargo.en-us.md +++ b/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/usage/packages/cargo.zh-cn.md b/usage/packages/cargo.zh-cn.md index 126dfd37..285fe9c8 100644 --- a/usage/packages/cargo.zh-cn.md +++ b/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