Когда я проверю багажник против полного проекта в SVN REPO?

StackOverflow https://stackoverflow.com/questions/3145282

Вопрос

Получил (надеюсь, маленький) вопрос относительно SVN и проверки REPOS. В основном я вижу противоречивые учебные пособия и предложения относительно того, что нужно проверить и когда. Некоторые скажут:

SVN CO. http://my.repos.com/project. мой проект

... пока другие говорят:

SVN CO. http://my.repos.com/project/trunk. мой проект

Когда я хочу схватить ствол прямо против всего проекта? В прошлом у меня никогда не было проблем, но я не уверен, есть ли сценарии, где он предпочтительнее другого.

Лучший.

Это было полезно?

Решение

Есть пара других пунктов, чтобы отметить об этом.

  1. То tags дерево (и это обычно будет деревом) содержит гипотетически неизменные снимки вашего кода в определенный момент времени; Это не то, что вы хотите изменить, так как большинство развертываний будут основаны на тегах
  2. Большинство клиентов Subversion жалуются, если вы попытаетесь совершить изменения в tags дерево, вместо того, чтобы просто копировать в него
  3. Для большинства целей, trunk это особый случай каталогов под branches; Единственное существенное отличие состоит в том, что ожидается, что он будет содержать основной путь развития

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

Вот настоящий характер. Наша команда делает все изменения кода против багажника. Когда нам нужен выпуск альфа (предварительно завершающий), мы просто пометим багажник. Как только мы нажмем «Code Complete» для данного выпуска, мы создаем филиал Freeze Code, где мы выполняем всю нашу версию. Бета, RC и GA релизы отслеживаются от этой ветви. Если нам нужно исправить выпуск GA, патч выполнен на ветке и сливается в багажник. Таким образом, нам не нужно беспокоиться о новее кода, протекавшими в тестированные и одобренные GA, если нам нужно исправить что-то конкретное. Это также позволяет нам начать работать над следующей версией программного обеспечения, как только код заморожен.

Кроме того, если есть «боковой проект», который не является полосой для багажника, вы можете создать ветку для этого и объединить его, когда вы будете готовы.

Некоторые команды любят создавать ветку для каждой ошибки, а некоторые работают непосредственно на багажнике (как мой). Если ваша команда делает BUG-PER-FILIVE, я бы никогда не проверил весь проект. Среди прочего, я бы увидел много кода, я бы не заботился.

Также, просто точка о управлении репозиторией, как упомянуто @humble_coder - Большинство инструментов Subversion довольно просты в использовании, когда речь идет о управлении ветви / тегов. Например, имеет браузер для хранилища репозитория, который позволяет довольно легко копировать вещи вокруг (создание ветвей и тегов), и даже инструмент командной строки SVN можно использовать для того, чтобы сделать то же самое, что и атомная операция (у нас на самом деле есть скрипт Это создает либо альфа-теги, ветвь замораживания кода или теги отпуска после замораживания).

Надеюсь это поможет!

Другие советы

Обычно репозиторий Subversion имеет 3 основных каталогов:

  1. ветви
  2. теги
  3. ствол

Багажник для максимально современного отделения кода.

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

Теги похожи на точки экипировки багажника.

Если вы выполните оформление заказа в корне проекта, вы получите все ветви, все теги и багажник. Это может привести к огромному количеству данных.

Например, если каждый выпуск кода отмечен, вы получите исходный код из всех ваших прошлых релизов!

Я надеюсь, что это поможет вам

Джером Вагнер

Это зависит от того, как вы выкладываете свой репозиторий, но обычно у вас будет эта структура:

/trunk
/tags
/branches

Внутри обоих tags а также branches, у вас может быть несколько копий проекта (в зависимости от того, как вы используете репозиторий).

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

Если вы оформить заказ /trunk Вместо этого вы только проверьте версию, над которой вы работаете в настоящее время, что вы обычно хотите.

Я бы никогда не проверил весь проект. Как правило, я заинтересуюсь только одной веткой за раз, может быть, два, иногда три. У меня всегда есть багажник, проверенный и обновленный. Если мне нужно проверить работу выпущенного тега (может быть, для изучения ошибок), я проверяю это, расследую и удаление. Ветви, хранящиеся под branches Как правило, имеет гораздо более короткий промежуток внимания, то есть они созданы и используются лихорадочно в течение короткого периода, а затем никогда не трогали.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top