Subversion: как организовать svn-теги для решений Visual Studio - или - Как создать версию всего решения VS - PullRequest
3 голосов
/ 19 января 2012

В моем хранилище Subversion для решения Visual Studio есть следующие каталоги:

  • ProjectName
    • метка
    • филиалы
    • Ствол
      • MySolution.sln
      • MyProject1 (dir)
      • MyProject2 (dir)

Если я обновлю MyProject1 с версии 1.0.0 до 2.0.0 , я должен скопировать все в trunk в новый каталог под тегами , или я должен копировать только все в trunk / MyProject1 в новый каталог под тегами ?

И, если первый способ является правильным, как я могу создать версию всего решения Visual Studio?

Спасибо.

1 Ответ

4 голосов
/ 19 января 2012

Посмотрите руководство svn , чтобы понять основные концепции управления версиями.

Магистраль является основной линией разработки, поэтому вы можете обновиться с версии 1.0.0 до 1.0.1, 2.0.0 и т. Д.

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

Метка - это моментальный снимок заданного времени вашего ствола o ветви.

В вашем случае вы можете обновить с 1.0.0.0 до 2.0.0.0 в транке и, возможно, сохранить снимок, пометив свой выпуск 1.0.0.0 (скопировав весь транк в тег с именем 1.0.0.0).

Сначала вы можете извлечь ProjectName на локальный диск, например, c: \ working \ ProjectName. Таким образом, у вас есть эта первая локальная структура:

  • ProjectName
    • метка
  • Ствол
    • MySolution.sln
    • MyProject1 (dir)
    • MyProject2 (dir)

Когда вы достигнете отметки релиза 1.0.0.0, она будет иметь такую ​​структуру:

  • ProjectName
    • теги
      • 1.0.0.0
      • MyProject1 (dir)
      • MyProject2 (dir)
  • филиалы
  • Ствол
    • MySolution.sln
    • MyProject1 (dir)
    • MyProject2 (dir)

Затем обновите до 2.0.0.0 и так далее:

  • ProjectName
    • теги
      • 1.0.0.0
        • MySolution.sln
        • MyProject1 (dir)
        • MyProject2 (dir)
      • 2.0.0.0
        • MySolution.sln
        • MyProject1 (dir)
        • MyProject2 (dir)
    • 1104 * филиалы *
    • Ствол
      • MySolution.sln
      • MyProject1 (dir)
      • MyProject2 (dir)

В любое время вы можете работать над транком или выпустить 1 или 2 (возможно, для отладки или применения патчей)

...