Почему сайт отображает версию SVN и каковы преимущества? - PullRequest
9 голосов
/ 27 мая 2009

Я до сих пор не использовал SVN. Почему веб-сайт (например, переполнение стека) отображает версию SVN внизу? Какая это версия? И каковы преимущества его показа на публике?

альтернативный текст http://shobankr.googlepages.com/so.jpg

Ответы [ 5 ]

5 голосов
/ 27 мая 2009

Так что, когда пользователь жалуется на поддержку, ребята могут спросить его, какая это была версия. Может случиться так, что пользователь увидит проблему, после чего программное обеспечение сайта обновится, и его жалоба больше не актуальна, поэтому разработчики будут тратить время на копирование.

Этот номер является номером версии SVN. Он начинается с нуля и автоматически увеличивается с каждым добавлением / обновлением исходного кода в течение срока службы репозитория SVN. Зная это число, легко получить полный исходный код точно в соответствующем состоянии - в хранилище есть метод для этого.

3 голосов
/ 27 мая 2009

В традиционном программном обеспечении у вас есть номера версий, такие как 1.0, 1.1, 2.0 и т. Д., В основном для поддержки и маркетинга.

На веб-сайтах, как правило, отсутствует понятие номеров версий, поскольку они обычно меняются гораздо намного чаще, чем «традиционное» программное обеспечение. Кроме того, иногда происходят просто изменения «архитектуры», например, «небольшая оптимизация здесь - небольшая очистка» - изменения, которые также происходят в «традиционном» программном обеспечении, но обычно не гарантируют выпуск новой версии (и увеличение версии от 1,0 до 1,0,1)

Таким образом, вместо того, чтобы просто увеличивать произвольное число каждые два дня, StackOverflow решил использовать номер ревизии из своего контроля версий (который является Subversion, но каждая система контроля версий имеет некоторое число для идентификации проверок).

1 голос
/ 27 мая 2009

Если вы используете CruiseControl.Net, вы можете записать версию SVN в файл .state, используя: http://code.google.com/p/svnrevisionlabeller/.

Затем запросите XML в файле состояния и отобразите его в нужном месте.

XDocument stateFileRoot = XDocument.Load("path-to-state-file");

var q = (from label in stateFileRoot.Descendants("Label")
         select (string)label).SingleOrDefault();

if (q != null)
{
    result = q.ToString().Substring(0, q.LastIndexOf(".")); // lop off last digit
    HttpContext.Current.Application["BuildLabel"] = result;
}

(В этом случае я помещаю его в кеш для легкого доступа и производительности.)

1 голос
/ 27 мая 2009

Еще одна причина опубликовать номер вашей ревизии - помочь вам с тестированием. Если вы отслеживаете ошибку или тестируете кандидата на выпуск, показ номера ревизии может помочь вам не запутаться в том, какую версию вы тестируете в настоящее время.

1 голос
/ 27 мая 2009

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

...