Удаление web.config из subversion (проект ASP.NET) - PullRequest
4 голосов
/ 11 сентября 2008

У меня есть проект, который управляется исходным кодом с использованием Subversion и VisualSVN. Так как версия web.config на сервере и на компьютерах разработчиков отличается, я хочу, чтобы файл оставался на компьютерах, но Subversion игнорировал его. Я добавил его в svn: ignore, но он все еще остается (и по-прежнему имеет красный восклицательный знак, поскольку мы его не фиксируем).

Как можно безопасно удалить его из Subversion, не удаляя его из файловой системы

Спасибо, Адин

Ответы [ 4 ]

6 голосов
/ 11 сентября 2008

вам нужно будет выполнить операцию удаления и игнорирования

  • сначала сделайте резервную копию вашего локального файла (как сказал @ibz)
  • затем удалите web.config из хранилища.
  • затем скопируйте обратно файл web.config в ту же папку
  • наконец используйте svn: ignore, чтобы subversion не пыталась добавить его снова в репозиторий

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

  • сделать резервную копию
  • щелкните правой кнопкой мыши файл web.config в папке под управлением исходного кода и выберите TortoiseSVN | Удалить
  • щелкните правой кнопкой мыши файл web.config в папке под управлением исходного кода, выберите SVN Commit =>, после этого вы заметите, что файл фактически удален из файловой системы
  • переместитесь вверх и щелкните правой кнопкой мыши на папке под управлением источником, выберите TortoiseSVN | Свойства
  • в окне свойств нажмите new + имя свойства "svn: ignore"; значение свойства "web.config". принять изменения
  • зафиксировать изменения

в моих проектах .net я включаю в svn следующее исключение: ignore: bin, obj, * .suo, * .user

3 голосов
/ 12 февраля 2009

В идеале, вы должны также поддерживать версии серверной копии web.config в SVN. Обычно мы переименовываем производственный web.config в web.config.prod (копия для каждой из сред), и инструмент сборки выбирает правильный файл и переименовывает его обратно в web.config при упаковке для развертывания.

1 голос
/ 11 сентября 2008
svn rm --force web.config
svn commit

Будьте внимательны, перед тем как сделать это, сделайте резервную копию вашей локальной копии (web.config), поскольку она будет удалена.

0 голосов
/ 21 апреля 2010

Я решил эту проблему, используя nant с ccnet. Следующий скрипт сборки nant заменяет файл web.test.config на локальный файл web.config;

<?xml version="1.0"?>
    <project name="Project1" default="build">
      <target name="init" depends="clean" />
      <target name="clean" />
      <target name="checkout"/>
      <target name="compile"/>
      <target name="deploy"/>
      <target name="test"/>
      <target name="inspect"/>
      <target name="build" depends="init, checkout">
        <call target="compile" />
        <call target="inspect" />
        <call target="test" />
        <call target="deploy" />
      </target>

      <copy file="..\TestDeployments\Project1\Project1.Solution\Project1.Web.UI\web.Test.config" 
          tofile="..\TestDeployments\Project1\Project1.Solution\Project1.Web.UI\web.config" 
          overwrite="true" 
       />
       <delete file="..\TestDeployments\Project1\Project1.Solution\Project1.Web.UI\web.Test.config" />

    </project>

Задание копирования NAnt

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