Есть ли надежный / надежный способ полностью очистить рабочую копию SVN перед сборкой? - PullRequest
1 голос
/ 10 февраля 2012

Я посмотрел и посмотрел, и я не могу найти то, что мне нужно здесь.Оптимально, я бы хотел, чтобы CruiseControl.NET перед переходом к процессу сборки сделал следующее:

  • Если рабочая папка не существует, извлеките из SVN (это не проблема)
  • Сделать рабочую папку полностью нетронутой, как будто она была недавно извлечена из SVN:
    • Нет игнорируемых файлов
    • Нет измененных файлов (потому что я буду изменять AssemblyInfo.cs файлы для .NET проектов перед сборкой)
    • Нет отсутствующих файлов / каталогов (это очень маловероятно, но только здесь завершается)
  • Я не хочупросто удаляйте рабочую папку при каждом запуске, потому что некоторые из этих проектов будут большими.

По опыту я знаю, что удаляется все, кроме скрытой папки .svn / _svn в корне рабочей папки, а затем выполняетсяОбновление SVN выполнит это, но это похоже на хак.

Кто-нибудь еще делает это и как?

Ответы [ 2 ]

2 голосов
/ 10 февраля 2012

Блок управления источником Subvesion уже поддерживает это.Вам необходимо установить опцию cleanCopy для вашего блока.

http://www.cruisecontrolnet.org/projects/ccnet/wiki/Subversion_(svn)

Это позволит удалить файлы рабочей копии и каждый раз заново получать назначенную ревизию.

1 голос
/ 10 февраля 2012

Вы можете svn export из рабочей копии, а не из репозитория.Это официальный метод , рекомендованный командой TortoiseSVN .

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

...