2010-03-11 2 views
4

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

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

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

ответ

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

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

+0

спасибо, похоже, хорошее место для начала. что касается пункта 2, да, что я имею в виду ... Я помню, как некоторое время назад смотрел на анкшвин и читал, что он не был реализован. –

1

Чтобы создать «Tag» (новая версия приложения) в AnkhSVN:

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

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

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

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

+0

Можете ли вы указать на http://feedback.ankhsvn.net, как он должен вести себя «менее ручным»? –

1

По вопросу 2:

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

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

Завершаю рекомендацию читать Red Bean book.