Что это за формат тегов версий для / от: $ Редакция: 3.2.1 $ - PullRequest
1 голос
/ 29 июня 2009

Я видел это везде. В документации, на веб-сайтах, экранах помощи вы называете это.
Почему?
Должен ли я использовать это тоже?
Как?

Ответы [ 3 ]

3 голосов
/ 29 июня 2009

Тег, вероятно, из CVS и представляет версию этого файла в CVS. Разработчик вставляет $ Revision $ в свой код. Когда это зафиксировано, CVS расширяет его до $ Revision: 1.2.3 $. На мой взгляд, вам определенно не следует использовать его или его друзей (например, $ Id $), по крайней мере, в обычном исходном коде.

Если у вас есть более современная система управления исходным кодом (SVN, Mercurial, git, monotone), которая имеет один номер версии для всего дерева, то хранение файла в вашей сборке, содержащего этот номер, не является плохой вещью. - он позволяет вам делать такие вещи, как в правом нижнем углу этой страницы, где прямо сейчас написано «svn revision: 3772».

Но если у вас есть что-то вроде CVS, где у каждого файла есть свои отдельные номера версий, вы получите $ Revision $ (или $ Id $ или что-то еще) в каждом файле. Со временем это приводит к путанице (например, люди цитируют номера версий, которые ссылаются только на один файл) и приводит к ошибкам слияния, когда в противном случае могло бы произойти чистое слияние (удаленная версия имеет версию этой строки, отличную от вашей локальной версии, происходит слияние).

Кроме того, все программно и автоматически изменяющие ваш исходный код следует рассматривать с подозрением.

1 голос
/ 29 июня 2009

Это, вероятно, расширенная версия '$ Id $', которая, как мне кажется, берет свое начало с системы контроля версий RCS и была унаследована или реализована во многих других, не в последнюю очередь CVS и SVN.

По сути, вы вставляете «$ Id $» в ваш исходный код, и система управления версиями расширяет его до строки идентификации, содержащей текущую ревизию при каждой проверке.

Затем, просматривая исходный код, вы можете напомнить себе, из какой версии или ветки исходный код поступил.

Лично я не нахожу это полезным.

Вот документация CVS для подстановки ключевых слов: http://ximbiot.com/cvs/manual/cvs-1.11.6/cvs_12.html

Обратите внимание, что $ Id $ является одной из многих таких строк, которые можно использовать.

0 голосов
/ 29 июня 2009

Почему?

Это попытка ответить на вопрос "Какая версия исходного кода соответствует двоичным файлам, отправленным клиенту?" Как это работает, прокомментировали другие.

Должен ли я использовать это тоже?
Как?

Вам это нужно? Как часто вы или ваши разработчики задавали этот вопрос? Как часто вам было трудно ответить на него? Если у вас уже есть теги / ветви типа release-1.0, release-1.1 и т. Д., То вам, скорее всего, это не нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...