Проекты ASP.NET с Subversion (клиент VisualSVN) - какие файлы следует игнорировать?

Я только начал использовать Subversion с веб-приложениями ASP.NET через плагин VisualSVN IDE. Visual Studio автоматически генерирует множество файлов, поэтому я не хочу контролировать их версии, поскольку они на самом деле не являются частью кодовой базы и не требуются для сборки.

Есть ли у кого-нибудь окончательный список основных файлов, которые следует игнорировать при переходе на Subversion из веб-приложения ASP.NET? и как я могу игнорировать эти файлы. Если возможно, я бы хотел установить его глобально, чтобы мне не приходилось делать одно и то же для каждого веб-приложения ASP.NET, которое я пишу и для которого я создаю новый репозиторий.

Ответы

Список файлов для игнорирования, представленный в ответах ниже,

  • мусорное ведро
  • объект
  • *.EXE
  • * .pdb
  • * .suo
  • _ReSharper. *
  • *.Пользователь

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


person Craig Bovis    schedule 05.06.2009    source источник
comment
Обратите внимание, что правила относительно того, какие файлы не должны идти в Subversion, также применимы к любой другой системе управления версиями.   -  person Richard Ev    schedule 05.06.2009


Ответы (7)


Не совсем "окончательный", но я всегда игнорирую файлы .suo и .user, а также каталоги bin / и obj /.

person AgileJon    schedule 05.06.2009
comment
Знаете ли вы, как я могу сделать это в VisualSVN и могу ли я сделать это как глобальную настройку, а не для каждого проекта? - person Craig Bovis; 05.06.2009
comment
Извините, я использую TortoiseSVN и просто игнорирую их вручную с каждым новым проектом. - person AgileJon; 05.06.2009
comment
Я добавляю эти файлы и каталоги в список svn: ignore для каждого проекта. Вам нужно установить их только один раз для каждого проекта, поэтому вам не нужно устанавливать их глобально. Я предпочитаю такой путь. - person Nelson Reis; 05.06.2009
comment
@Craig - посмотри мой ответ. Вы устанавливаете это в TortoiseSVN. Из контекстного меню любой папки: TortoiseSVN ›Настройки› Глобальный шаблон игнорирования. - person Jamie Ide; 05.06.2009

Вот мой список игнорирования от TortoiseSVN. VisualSVN требует TortoiseSVN и использует его настройки.

bin obj *.exe *.pdb *.suo _ReSharper.* *.user

Я не закреплял никаких нежелательных (или не сохранял никаких желаемых) файлов с этой настройкой.

person Jamie Ide    schedule 05.06.2009

Если у вас есть ссылки на службы WCF, вам нужно только включить файлы Reference.cs и Reference.svcmap для каждой ссылки на службу.

person Richard Ev    schedule 05.06.2009
comment
Также включите app.config в каталог вашего проекта. (Проверять файл .wsdl не обязательно, но вы также можете сделать это, если когда-нибудь захотите вернуться к более старой версии обновленной веб-службы.) - person Jeremy Frank; 06.07.2009

Плагин AnkhSVN для Visual Studio имеет список файлов, которые нужно игнорировать автоматически, и фиксирует только необходимые файлы.

По крайней мере, я так считаю. Мне потребовалось несколько попыток правильно настроить репозиторий, но с AnkhSVN фиксируется только подмножество файлов, которые TortoiseSVn хочет зафиксировать. Если игнорирует файлы, перекомпилированные, например, при каждой сборке.

person David A Gibson    schedule 05.06.2009

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

Я бы рекомендовал создать отдельный каталог в вашем репозитории с эталонным файлом конфигурации для веб-сайта и игнорировать * .config в фактическом каталоге проекта.

person Thorarin    schedule 05.06.2009

Вдобавок, чтобы покрыть проблемы чувствительности к регистру с «bin», мне пришлось добавить [Bb] к моему. Так что я:

[Bb]in obj  *.exe *.pdb *.suo _ReSharper.* *.user

Кроме того, эта ссылка объясняет, как обрабатывать исключения для конкретного проекта, чтобы другие пользователи получали такое же поведение исключения только для того же проекта, когда они его проверяют:

http://svnbook.red-bean.com/en/1.1/ch07s02.html

Я использовал свойство svn: ignore в определенном каталоге, чтобы исключить определенный набор файлов, которые были скопированы в него (но я все еще хотел, чтобы сам каталог был в svn).

person Clark Updike    schedule 22.07.2009

Используйте VisualSVN для первоначального «Добавить файлы в репозиторий», и он автоматически игнорирует вещи, которые вам не нужны, например файлы suo и папки bin / obj.

person Wyatt Barnett    schedule 05.06.2009