货物是否使用带有Git标签的semver?

问题描述 投票:0回答:1

我对它没有印象,但是我找不到关于此的任何具体文档。 Cargo是否在对待Git上符合semver的标签上使用与对待crates.io上的箱子相同的方式,即cargo update将箱子更新为最新的不间断版本?

更具体地说,给定以下Cargo.toml代码段,并假定“ crate”的最新版本为1.0.1,并且“ git_crate”存在1.0.1标记,则“ crate”的1.0.1版本为已下载。 cargo install是否还会为“ git_crate”获取1.0.1标签,还是会使用1.0.0标签?

[dependencies]
crate = "1.0.0"
git_crate = { git = "https://[email protected]/git_crate.git", tag = "1.0.0" }
rust rust-cargo
1个回答
0
投票

Git标签是自由格式;例如,完全可以将您的提交标记为foobar,并且没人会蒙上眼睛。 Semver是人们为其标签使用的常见趋势。但是,那是一个常数吗?某些人使用x.y.z,其他人使用vx.y.z

因此,货物将选择您指定的精确标签。您可以通过使用git daemon在临时端口(默认为9418)上支持您的存储库,然后添加git repo及其标签来说服自己。当端口启动并且守护程序可用时,您将看到以下内容(但没有有效的git repo):

Caused by:
  Unable to update http://localhost:9418/?tag=1.0.0

因此,确认货物唯一要做的就是获得您提到的准确标签。再一次,这是完全可以预期的。

© www.soinside.com 2019 - 2024. All rights reserved.