2008-09-11 5 views
4

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

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

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

ответ

6

вы должны сделать как удалить и игнорировать операцию

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

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

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

моих .net проектов я включать следующее исключение с SVN: игнорировать: BIN, OBJ, * .suo, * .user

1
svn rm --force web.config 
svn commit 

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

3

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

+0

Путь мы разместим это: 1. Придерживаться SVN на Dev ПК 2. На сервере сделать "СВН до файла" – adinas 2009-06-04 18:48:23

0

Я решил эту проблему, используя 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 Copy Task