Концепция пакетов в SVN
Мы переходим от CA Harvest Software Change Manager к svn. В Harvest SCM есть концепция пакетов, в которую мы можем добавить группу файлов. Подобную вещь мы хотим реализовать в SVN. Могу ли я использовать свойства для этого? Если так, как?
В любое время мы сможем получить историю любого пакета. Я читал, что свойства не версионированы.
Есть ли какие-либо другие функции, которые я могу использовать для реализации пакета? Пакет - это просто логическая сущность, которая содержит группу файлов. После завершения модульного тестирования мы продвигаем пакет для тестирования системы, а затем - для производства.
2 ответа
Из моего краткого обзора Harvest, пакет - это набор файлов, которые вы хотите изменить. У Subversion действительно нет этой концепции - кроме случаев, когда она как бы встроена.
В Subversion репозиторий пересматривается, а не отдельные файлы в редакции. Таким образом, каждая регистрация вносит изменения в хранилище. Это означает, что все файлы, которые вы зарегистрировали вместе, являются в определенном смысле "пакетом". Вы можете просто отметить все файлы, которые вы изменили, добавили и удалили как единый набор изменений, поскольку по умолчанию Subversion проверяет все изменения, если вы не указали список файлов.
Благодаря тому, как Subversion обрабатывает свою ревизию, вы можете легко увидеть, какие файлы были изменены в наборе.
Вы можете указать отдельные файлы и каталоги для регистрации, или вы можете использовать функцию списка изменений, которая была представлена в версии 1.5. Вы можете добавлять файлы в различные списки изменений, а затем выполнять операции с этими списками изменений. Я не видел, чтобы эта функция использовалась так много.
В svn свойства делятся на 2 типа: те, которые имеют версии (revprops) и те, которые не являются версионными. Первые - это то, что вы ожидаете, что версионируете, комментируете автора, комментируете и т. Д. Второе - это свойства, которые предназначены для "метаданных" о файле - например, двоичного или текстового. Вы не ожидаете, что они будут версионными.
Пакеты... У SVN нет концепции группы файлов (если они не находятся в каталоге), которая сохраняется в сеансах, хотя у нее есть концепция списков изменений. Я недостаточно знаком с Харвестом, чтобы сказать, сработает ли это для вас. Если этого не произойдет, то я думаю, что вам придется реализовывать пакеты как ветки.