Зачем нужны свойства?


Свойства могут быть очень полезной добавкой к рабочей копии. Фактически, сама Subversion использует свойства для хранения служебной информации и определения того, какие действия необходимо выполнить. Подобным образом и вы можете использовать свойства для своих целей. Конечно, все для чего можно использовать свойства можно делать, используя обычные версионированные файлы, однако обратите внимание на приведенный ниже пример использования Subversion-свойств.

Скажем, вы хотите разработать веб-сайт, содержащий много цифровых фотографий и показывающий их с подписью и датой. Набор этих фотографий постоянно изменяется и вы захотите по возможности максимально автоматизировать этот сайт. Фотографии могут быть большого размера и как обычно делают на таких сайтах, для своих посетителей вам будет необходимо показывать миниатюры изображений. Сделать это вы можете с помощью обычных файлов. То есть рядом, в директории, вы можете иметь файлы image123.jpg и image123-thumbnail.jpg. Подобным образом, отдельно от графического файла, можно хранить и дату. В результате ваше дерево файлов будет захламлено и будет многократно увеличиваться при каждом добавлении на сайт фотографии.

Представим эту же ситуацию при использовании Subversion-свойств файлов. Допустим, имеется файл image123.jpg и у этого файла установлено свойство caption, datestamp и даже thumbnail. В этом случае рабочая копия выглядит гораздо более управляемо — фактически она будет выглядеть так, как-будто она ничего кроме графических файлов не содержит. Однако ваш скрипт автоматизации знает больше. Он знает, что может воспользоваться svn (а еще лучше языковой обвязкой Subversion — см. «Using Languages Other than C and C++») для получения дополнительной, необходимой для показа на сайте информации, не занимаясь чтением индексного файла или играми с путями файлов.

Как (и для чего) использовать Subversion-свойства вы решаете самостоятельно. Как уже говорилось, Subversion имеет свои применения свойств, которые мы рассмотрим в этой главе немного позже. А с начала давйте поговорим как работать со свойствами используя программу svn.



Содержание раздела