Как указать Cargo использовать git-теги для определения версии ящика? - PullRequest
0 голосов
/ 05 сентября 2018

Я перебираю книгу Rust и изучаю Cargo. В описании формата Cargo.toml, кажется, требуется, чтобы вы жестко закодировали версию, над которой вы сейчас работаете или недавно выпустили, в этот файл, который проверяется в контроле версий. Поскольку любой здравомыслящий человек помечает свои выпуски, это означает, что информация о версии дублируется, и мы все знаем, какая плохая идея иметь одну и ту же информацию в двух местах.

Учитывая, что Cargo кажется превосходно самоуверенным в вопросе контроля версий (создание git-репо на cargo new), я немного удивлен тем, что не могу найти способ сообщить Cargo ", собирая информацию о версии из аннотированные метки в репо ". Я что-то упустил, или эта функция полностью отсутствует в Cargo?

1 Ответ

0 голосов
/ 05 сентября 2018

crates.io хранит полные снимки источников ящиков без мета-информации VCS . Таким образом, эта информация о ящике должна быть закодирована в Cargo.toml, который является частью снимка.

Существует также старая проблема об идее обратного подхода: заставить подкоманды cargo создавать теги git при публикации новой версии на crates.io.

...