Обновление против Обновления - PullRequest
5 голосов
/ 19 августа 2009

Как вы различаете «патч» и «апгрейд»? Где вы рисуете линию?

В определенной спецификации говорится, что мне нужно делать «X» всякий раз, когда я выпускаю обновление продукта. Мне нужно провести черту где-нибудь. Я не хочу нарушать эту спецификацию, но никогда раньше не определял ее явно.

Ответы [ 6 ]

10 голосов
/ 19 августа 2009

Что касается управления версиями программного обеспечения (особенно семантическое управление версиями ), исправление обновит номер версии исправления программного обеспечения, а обновления обновят свой младший номер версии. Для приложений, которые следуют за семантическим версионированием (в формате MAJOR.MINOR.PATCH), патч определяется как:

увеличивает версию [...] PATCH, когда вы делаете обратно совместимые исправления ошибок.

В большинстве случаев патчи обновляют третий номер, версию maintenance . Обновления обновляют номер версии minor . Кроме того, исправления обычно устраняют проблемы при сохранении совместимости, тогда как обновления могут как исправлять проблемы, так и добавлять новые функции , которые могут быть несовместимы с предыдущими версиями . После номера патча можно дополнительно добавить номер сборки или ревизии:

MAJOR.MINOR.PATCH    or    MAJOR.MINOR.PATCH.BUILD

Таким образом, номер версии 2.1.3.089 является второй основной версией, первой второстепенной версией (так что было проведено одно серьезное обновление), третьей сборкой для обслуживания (таким образом, три исправления с момента выпуска версии 2.1.0.X) и сборкой 089 (не имеет значения для сборок / исправлений, может рассматриваться как дополнительные метаданные, указывающие уникальный идентификатор / номер версии).

Статья в Википедии о версии программного обеспечения - интересное чтение. Причина, по которой я указываю стиль M.M.M.B, заключается в том, что он обычно используется в Visual Studio при разработке приложений.

Однако в некоторых случаях последний номер (сборка) опускается - для конечных пользователей это редко требуется. В основном это только для целей разработки.

7 голосов
/ 19 августа 2009

Патч - это обычно то, что выдвигается, чтобы исправить критическую ошибку, проблему или проблему безопасности. Обновления или выпуски, вероятно, больше соответствуют дополнительным функциям и возможностям программного обеспечения.

6 голосов
/ 19 августа 2009

Я не думаю, что существует какое-либо "стандартное определение", хотя общепринятым определением является то, что патч исправляет ошибки, а обновление вводит новые функции.

Это действительно будет зависеть от того, как люди, написавшие вашу спецификацию, определяют исправления против обновлений, а не от того, как я или кто-то еще определяет это.

1 голос
/ 19 августа 2009

Для меня самое главное, что движет проблемой.

Патч обычно предназначен для устранения проблемы и поэтому запрашивается у пользователя.

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

0 голосов
/ 20 августа 2009

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

0 голосов
/ 20 августа 2009

Существует также много маркетинга.

Я не желаю платить за патч, пока могу заплатить за обновление (я смотрю на вас, пользователей OSX).

...