Subversion: как развернуть папки BIN и OBJ - PullRequest
4 голосов
/ 24 июня 2010

В subversion / TortoiseSVN мне интересно, как удалить версию каталога. У нас есть большое количество проектов, каждый с папкой BIN и OBJ, которые находятся под контролем исходного кода. Я хочу удалить эти две папки из Subversion, но сохранить их локально.

Я попробовал опцию «Удалить (Сохранить локально)», и это работает на моей машине. Однако когда другой разработчик выполняет обновление, его папки BIN и OBJ удаляются. Мне нужно, чтобы он просто стал неверсированным, когда другие разработчики производят обновление, а не удаляют их со своих машин.

Спасибо ~ Джеймс

Ответы [ 6 ]

6 голосов
/ 24 июня 2010

Вы хотите использовать операцию игнорирования из контекстного меню TortoiseSVN.

http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-ignore.html

0 голосов
/ 24 июня 2010

Мое решение для такого рода проблем состоит в том, чтобы изменить файл проекта (msbuild) для автоматического воссоздания каталогов bin / obj (если они отсутствуют) перед этапом компиляции.Затем svn удалите каталоги bin / obj и, наконец, обновите файл .svnignore, чтобы игнорировать каталоги bin / obj.Таким образом, вы не пытаетесь хранить промежуточные продукты, и, тем не менее, каталоги будут доступны сразу после сборки, либо в Visual Studio, либо с MSBuild.

0 голосов
/ 24 июня 2010

Убедитесь, что вы переходите в родительский каталог и фиксируете удаления.

0 голосов
/ 24 июня 2010

Я думаю, что самый простой способ сделать это - это разветвить ваш код, удалить каталоги, а затем слить обратно в транк.

Всем разработчикам следует добавить папки obj и bin в их глобальное игнорирование, прежде чем проверять обновленный ствол.

Я использовал шаблоны из этого ответа, и они работали для меня: Как правильно настроить TortoiseSVN 'Глобальный шаблон игнорирования'?

0 голосов
/ 24 июня 2010

Быстрое и грязное решение заключается в chmod -R a-w этих папках, чтобы svn не мог их удалить.

Однако я думаю, что если он не регенерирует, он должен находиться под контролем версийи если он регенерирует, это не должно иметь значения?

Или перекомпиляция для всех займет непомерно много времени.

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

РЕДАКТИРОВАТЬ: или классический 'скопировать резервную копию;скопировать обратно после обновления '.

0 голосов
/ 24 июня 2010

Если вы используете TortoiseSVN, просто экспортируйте в текущее местоположение рабочей копии, и он удалит папки и файлы .svn.

http://tortoisesvn.net/node/343

...