как обрабатывать решения / управление версиями в Subversion - PullRequest
4 голосов
/ 12 марта 2010

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

1 \ Я подумал, что ключевой причиной наличия такого инструмента, как svn, является то, что вы можете выполнить откат к более ранней версии вашей базы кода. Если разработчики просто проверяют код, то как получить версию 1.1 (скажем, текущую производственную сборку) из subversion?

2 \ В VS у вас есть концепция решений, многие решения могут использовать один и тот же проект. Как удостовериться, что когда разработчик проверяет решение, он получает соответствующие версии проектов, принадлежащих этому решению?

Ответы [ 3 ]

5 голосов
/ 12 марта 2010
  1. Вам необходимо узнать о тегах. Идея заключается в том, что когда вы достигнете точки, когда наступит время для выпуска X, вы создадите в своем хранилище Subversion доступный только для чтения / tag / release_X. Вы продолжаете работать в / trunk или a / branch; если вам нужен / tag / release_X, вы просто проверите его.
  2. Я не знаю, что такое понятие "решения". Если вы имеете в виду, что у вас есть общий проект, который превращается в JAR или WAR или DLL или сборку, которую используют несколько проектов, вы можете проверить артефакт и попросить другие проекты просто проверить его, как и любой другой сторонний JAR.

Я бы рекомендовал прочитать книгу SVN Red Bean .

1 голос
/ 12 марта 2010

Для выпуска 2:

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

Я не знаю, предоставляет ли интерфейс AnkhSVN способ добавить свойство externals, поскольку я обычно использую браузер TortoiseSVN для этой задачи.

Я буду рекомендовать прочитать книгу Red Bean .

1 голос
/ 12 марта 2010

Для создания «Тэга» (новой версии приложения) в анхсвн:

  1. В обозревателе решений щелкните правой кнопкой мыши элемент и выберите Subversion> Branch Solution. Вернуть элемент к определенной ревизии
  2. В окне «Создать ветку / тег» выберите источник для вашей ветки или тега.
    • HEAD или последняя версия в хранилище
    • Определенная более старая ревизия в хранилище
    • Ваша локальная рабочая копия
  3. Чтобы автоматически переключать вашу рабочую копию на новую ветвь, выберите «Переключиться на ветвь после создания».

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

  4. Введите сообщение журнала, объясняющее, почему вы создаете ветку или тег.
  5. Нажмите ОК.

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

...