SVN для чайников. Часть IV.
- update |
- TortoiseSVN |
- svn revert |
- SVN |
- revision |
- commit |
- checkout
Работа с SVN свойствами
В предыдущих частях мы рассмотрели основные операции, с которыми разработчик сталкивается каждый день. Просматривает репозиторий, работает с проектом в рабочей копии, фиксирует изменения, делает слияние веток разработки и т.д. Но этом рассмотрение основ SVN можно было бы закончить, но как любой другой инструмент SVN обладает возможностями тонкой настройки и дополнительными опциями, для автоматизации его использования. Это реализовано через механизм SVN свойств папок и файлов, находящихся под контролем репозитория. Существует достаточно большое количество SVN свойств файлов/папок описывающих те или иные ситуации, но мы рассмотрим только базовые свойства которые желательно использовать при работе.
Разделение бинарных и текстовых файлов
SVN это система контроля версий исходных кодов. И в первую очередь она ориентирована на работу с текстовыми файлами. В том случае если система работает с бинарным файлом, то результаты команд сравнения, слияния и разрешения конфликтов дают непредсказуемый результат.
Что бы все было корректно нужно указать SVN что данный файл это не текстовый файл и к нему нельзя применять методы обработки текстовых файлов. Делается это с помощью свойства svn:mime-type. Петя решил добавить к документации графический файл формата *.png (рис. 74). Для того что бы сказать SVN что этот файл не должен рассматриваться как бинарный, Петя в SVN свойствах файла (рис. 75) добавляет свойство svn:mime-type со значением application/octet-stream (рис. 76). После фиксации изменений в репозитории этот файл будет рассматриваться и обрабатываться как не текстовый файл.
Рис. 74. Состояние рабочей копии Пети после добавления графического файла checkout_0.png
Рис. 75. Вызов диалогового окна SVN свойств файла
Рис. 76. Диалоговое окно установки SVN свойства файла svn:mime-type
Важное замечание. Помните, что при возникновении конфликтов над бинарными файлами SVN не содержит программ, которые смогут вам показать, чем отличаются сравниваемые файлы, это нужно будет сделать в ручную (По анонсам последних версий TortoiseSVN появилась программа сравнения графических файлов).
Совет. Некоторые распространенные расширения файлов TortoiseSVN распознает и ставит svn:mime-type автоматически. Но лучше лишний раз проверить, чем потом выяснять, почему после слияния веток или устранения конфликта графический файл вдруг перестал открываться или бинарный файл прошивки процессора вдруг перестал работать.
- блог пользователя des00
- 44067 просмотров
Новые записи в блогах
- Устранение дребезга контактов на основе вертикальных счетчиков
- Диагностика Imprecise Bus Faults в микроконтроллерах Cortex-M3/M4/M4F
- Self-powered камера
- Фоновый модулятор: беспроводная связь из ничего (перевод)
- Texas Instruments Analog Applications Journal SLYT612 "Снижение искажений в аналоговых КМОП ключах" (перевод)
- USB MSD. Часть 6. Команды SCSI (перевод)
- USB MSD. Часть 3. USB класс накопителей данных (перевод)
- Texas Instruments Application Report SBAA042 "Кодовые схемы, используемые в аналогово-цифровых преобразователях" (перевод)
- 10 принципов правильного интерфейса
- Релиз SDK на русский микропроцессор КРОЛИК
Комментарии
У меня проекты в MPLAB (IDE
У меня проекты в MPLAB (IDE для PIC-ов). И эта самая MPLAB при каждом открытии\закрытии проекта вносит правки в файлы проекта (mcp и mcw), ничего при этом не спрашивая. Если исключить эти файлы из контроля, при чек-ауте их надо будет где-то доставать, что неудобно. А так, приходится после каждого открытия-закрытия делать откат правок или коммит, что тоже неудобно. Как бы это похитрее обойти?
Добрый день!!! Прошу
Добрый день!!!
Прошу извинить, за столь долгое ожидание ответа. Работы вагон, что разгребать не успеваю :(
Да, бывают такие не адекватные IDE, в вашем случае вижу несколько решений :
1. Решение в стиле чисто хака, правда не знаю как к этому отнесеться MPLAB. Закрыть эти файлы для модификации средствами операционной системы. Если вдруг потребуется модифицировать, то атрибут read-only легко снимается.
2. Для commit использовать скрипты (например bat файлы под виндами), в них поставить автоматический откат на эти файлы.
Ссылочки
Статья шикарна, вставьте, пожалуйста ссылки на предыдущие статьи, а ещё лучше соберите в PDF'ку.
Очень хорошая статья.
Очень хорошая статья. Разобрался с SVN-ом быстро. Спасибо
Отправить комментарий