Июл 2
SVN. Игнорирование файла, папки
Иногда бывает удобным установить игнорирование определенного файла в SVN, что бы на него не реагировали команды commit(ci) или update(up).Поясню.
Предположим у вас есть ноутбук, на котором домашняя версия разрабатываемого проекта, то есть свой конфигурационный файл(далее “конфиг”, который например лежит в папке application/), в котором хранятся настройки соединения с базой данных или путь к локальному smtp-серверу, в общем данные специфичные для работы в домашних(локальных) условиях.
Вы приходите с ноутбуком на работу и делаете коммит своих домашних настроек в общий репозиторий SVN, люди делают up и у них соответственно “грохается” соединение с базой и тому подобные интересные вещи. Участником такого обвала можете стать вы сами если тоже самое проделает ваш напарник, принеся свой конфиг в репозиторий. В принципе подменить пару строчек в файлике не проблема но, всё же, если это делать каждый день после апдейта - изрядно надоедает.
Выход из ситуации прост, SVN настолько крут, что позволяет игнорировать какие угодно вам файлы. Как это сделать вы можете прочитать в мануале по SVN на тему “svn propedit svn:ignore”, или по диагонали пробежаться по тексту, написанному мной ниже.
Что бы исключить файл config.ini, который в папке application из всех транзакций SVN’а, делаем нижеследующие шаги:
- Делаем копию подопытного файла у себя на винчестере, так как нам позже прийдется его восстанавливать;
- заходим по ssh в корневую папку вашего проекта;
- (опционально) исполняем команду svn st, что бы убедиться, что у нас нет незалитых изменений. Если такие есть, делаем svn ci;
- удаляем из SVN файл config.ini командой svn del - - force appication/config.ini ;
- делаем svn ci -m “config.ini R.I.P”;
- далее воспользуемся командой svn propedit svn:ignore application/ . Команда svn propedit редактирует свойство (property edit), svn:ignore собственно имя свойства, application/ имя папки, на которую распространяется это свойство;
- В открывшемся редакторе vi, необходимо вписать имя файла в папке application/ в нашем случае config.ini или вместо имени файла написать маску, например *.ini;
- Далее 2 раза ESC, затем “Shift+:” и “wq!”;
- Следующим шагом делаем svn ci -m “application/config.ini ignored”;
- Далее нам нужно восстановить файл config.ini в папочку application/ (файлик берем оттуда, куда мы его положили в п.1);
- после чего добавляем этот файл в SVN командой svn add application/config.ini;
- делаем svn ci -m “WOW! Config.ini! OMG! O_o”.
Если вдруг в процессе выполнения вышеописанных шагов система пишет что-то типа
не разочаровуйтесь, делайте svn up и её должно попустить.
Если вы чего-то не так сделали, в любой момент можно удалить свойство svn с помощью команды
svn propdel svn:ignore application/ и начать всё сначала
Нет комментариев
Оставить комментарий
Вы должны войти для получения возможности оставлять комментарии.