Почему на сайте отображается версия SVN и каковы преимущества?

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

http://shobankr.googlepages.com/so.jpg


person Shoban    schedule 27.05.2009    source источник
comment
Я отредактировал вопрос в надежде, что он будет удовлетворительным для тех, чья реакция коленного рефлекса - закрыть все, что упоминает переполнение стека. Вопрос не относится к UserVoice, который предназначен для отчетов об ошибках и запросов функций. Это совершенно правильный вопрос, который не обязательно должен быть SO-специфичным, и мне не потребовалось много воображения или усилий, чтобы отредактировать его соответствующим образом.   -  person Rob Kennedy    schedule 27.05.2009
comment
@ian Quingley, какой это был вопрос? :) где ты голосовал против?   -  person Shoban    schedule 11.02.2010
comment
Какой-то парень спрашивал о передаче параметров в sproc. Я не голосовал против!   -  person Dead account    schedule 12.02.2010


Ответы (5)


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

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

person sharptooth    schedule 27.05.2009

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

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

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

person Michael Stum    schedule 27.05.2009
comment
Спасибо. Этот номер версии генерируется автоматически или через настройки? Как мы можем отследить изменение этой версии и получить файл для этой версии? - person Shoban; 27.05.2009
comment
Версия автоматически увеличивается самим репозиторием. В интерфейсе репозитория есть метод для получения всех источников по номеру редакции. - person sharptooth; 27.05.2009
comment
Репозиторий исходного кода по сути хранит копии всех версий файла. Если вы измените файл три раза, у вас будет 4 версии файла (исходная, первое изменение, второе изменение, третье изменение). Каждая проверка / фиксация в репозитории увеличивает его номер. Итак, если у меня есть версия 1 и я добавляю файл, репозиторий будет версией 2. Я изменяю файл, репозиторий - версией 3 и т. Д. Таким образом, число увеличивается автоматически, и его можно легко запросить для отображения. - person Michael Stum; 27.05.2009

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

person bdonlan    schedule 27.05.2009

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

person Gazzonyx    schedule 27.05.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;
}

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

person Matt Sherman    schedule 27.05.2009
comment
Публикуем в блоге более подробно: clipperhouse.com/blog/post/ - person Matt Sherman; 27.05.2009