Лучшие практики для хранения тега git для вызова версии API - PullRequest
1 голос
/ 20 апреля 2019

Я переключаю API с svn на git, что создало проблему с тем, как хранить и представлять информацию о версии API пользователям.Ранее я получал информацию о версии во время извлечения тега, используя расширение ключевого слова svn с ключевым словом HeadURL для извлечения имени ветви или тега, и я сохранял его в файле, который будет прочитан позже, когда будет сделан вызов / version.

В ходе обширных исследований я обнаружил, что git не предлагает эквивалента svn раскрытия ключевых слов, а обходные пути с использованием .gitattributes и фильтров кажутся затруднительными, чтобы иметь возможность получить информацию о тегах / ветвях для пользовательской подстановки ключевых слов..

Но API, представляющие информацию о версии, являются нормой, и я уверен, что многие из них используют git для контроля версий.Итак, что может быть хорошей альтернативой моей проблеме для хранения и представления информации о версии (тег или название ветви) для моего API?Или вы можете предложить другой способ хранения информации о филиалах / тегах в файле во время оформления заказа?

1 Ответ

0 голосов
/ 20 апреля 2019

Версия API не совпадает с хэшем или тегом фиксации.Например, у вас может быть версия API 1, которая действительна для версий программного обеспечения 0. *, 1.0, 1.1, 2.0 и 2.1, но не для версии 3.0, которая переключается на версию API 2. Позже, версия программного обеспечения 2.2 поддерживает как API 1, так иAPI 2.

Это означает, что версия API должна не определяться самой версией.Изменение API - это отдельная операция.Отображение информации о версии релиза (теги или что-либо другое) в поддерживаемый набор API является неотъемлемой частью кода релиза и поэтому основано на содержимом of (некоторый набор файлов в) выпуск, а не внешний номер выпуска.Так что здесь нет никакого конфликта: вы просто обновляете содержимое по мере необходимости и делаете релизы по мере необходимости.

...