Игнорировать определенный файл от ожидающих изменений - PullRequest
8 голосов
/ 07 октября 2010

Вот моя проблема. У меня есть определенные файлы из решения (скажем, Web.config), которые я изменил и никогда не захочу зарегистрироваться, поскольку изменения относятся только к моей машине. Есть ли способ сказать в TFS игнорировать изменения в определенном файле и удалить его из окна ожидающих изменений. Конечно, я могу пропустить этот файл при каждой регистрации, но всегда есть возможность забыть и зарегистрироваться по ошибке. Например, в AnkhSVN есть аналогичный список игнорирования.

Ответы [ 7 ]

11 голосов
/ 07 октября 2010

Некоторые части файлов {app,web}.config могут быть делегированы другому файлу.В частности, <connectionStrings>.

В вашем app.config или web.config:

<connectionStrings configSource="LocalConnectionStrings.config" />

в LocalConnectionStrings.config есть (<connectionStrings> является корневым элементом):

<connectionStrings>
    <!-- For the application's operations. -->
    <add name="Application"
         connectionString="Data Source=server;Initial Catalog=database;Integrated Security=True;Network Library=dbmssocn"
         providerName="System.Data.SqlClient" />
</connectionStrings>

Таким образом, у каждого разработчика есть LocalConnectionStrings.config, который находится в проекте, но не имеет контроля исходного кода, установленного с их личными настройками, в то время как {web,app}.config имеет общие настройки.К сожалению, это работает только с ограниченным набором системных элементов конфигурации.

6 голосов
/ 07 октября 2010

Одним из способов решения этой проблемы может быть удаление атрибута readonly в файле web.config в проводнике Windows и его редактирование в блокноте:

  • Не появится в ожидании изменения
  • Это все еще в источнике контроль

Гадкое, но простое решение.

4 голосов
/ 07 октября 2010

Лучшая практика в отношении файлов конфигурации, TFS и различных машин разработчика: (Подол) ...

Все ваши разработчики должны иметь одинаковую среду разработки. Это единственный способ управлять файлами web.config в TFS, и он имеет много дополнительных преимуществ:

  • Nomore "но он работает на моем компьютере"

  • его друг страшный "Я не понимаю, какие зависимости требуются. Он больше не компилируется."

  • Вы не пожалеете о знаменитом «Ах! Я забыл вам сказать, я изобрел MyWonderfullApplicationConfigSection, и вы должны определить его в своем файле web.config, но я не скажу вам, как».

  • Это действительно поможет настроить среду сборки или развертывание.

Хорошо, это не так просто, я знаю, что разные разработчики любят разные настройки ... но это хорошая идея стандартизировать платформу dev. Это действительно того стоит.

2 голосов
/ 20 июля 2011

Вы можете сделать копию файлов, которые вы не хотите регистрировать, отменить их извлечение и заменить их копией.Поскольку изменение было внесено извне VS, оно не будет проверено, поэтому его не будет в списке Pending Changes.

(я знаю, что это старый вопрос, но я уверен, что кто-тоищущий способ сделать это мог бы использовать этот ответ)

2 голосов
/ 07 октября 2010

Для нашей работы в VS 2005/2008 у нас включено несколько проверок, и мы просто никогда не проверяем файл web.config.

Из-за хлопот, связанных с попытками сделать что-то непонятное, чтобы не было что-то зарегистрировано, мы просто никогда не проверяем его. В нечетном случае, когда один из этих файлов проверен, это быстрое «Эй, ребята, я облажался».

С другой стороны, вы можете сказать TFS исключитьфайл из системы контроля версий.Это должно будет существовать на всех компьютерах, потому что решения / проекты по-прежнему будут искать этот файл.

http://arcware.net/2007/04/12/how-to-exclude-files-from-tfs-source-control/

Вы также можете изменить файл .SLN / project.Я сделал этот метод с тестовыми проектами, где я не хочу исправлять тесты других людей только для того, чтобы запускать свои собственные, поэтому я удалил свой тестовый проект из TFS, оставив другие нетронутыми.

1 голос
/ 07 октября 2010

Какую версию студии вы используете?

Если вы работаете в 2010 году, вы можете использовать преобразования веб-конфигурации.Таким образом, вы можете иметь разные файлы web.config в зависимости от среды.Например, разработка, тестирование, производство ..

Если вы работаете в 2008 году, у нас обычно был основной файл web.config, указывающий на наши разработки, и файл web.production.config, указывающий на производство.Во время развертывания мы удаляем web.config и переименовываем web.production.config.

1 голос
/ 07 октября 2010

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

Вы также можете поместить файл в папку и изменить файл своего проекта в редакторе xml, чтобы включить его в свой проект. Visual Studio не будет добавлять файлы в элемент управления исходным кодом, которые были добавлены вручную путем редактирования XML-файла проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...