|
По сравнению с CVS, Subversion сделал большой шаг вперед, добавив возможность добавлять к каждому файлу/каталогу некоторые метаданные - properties (RTFM propget/propput/propedit/proplist). Использование их широко донельзя: от отслеживания владельца определенной части продуктового кода до написания автоматизированных тулов типа svnmerge, которые используют properties для хранения своей вспомогательной информации.
Забавно то, что во время использования сегодня svnmerge я в некотором сценарии получил ошибку о конфликте при изменении property, используемого данным тулом. Пошел читать интернет, нашел описание этой проблемы, и там помимо всего прочего было такое высказывание:
- ### FIXME: Unfortunately, we're getting a conflict for the
- ### merge info property in the following svnmerge invocation
- ### due to Subversion's (reasonable) lack of property value
- ### merging (which isn't possible without knowing a property's
- ### MIME type)
-
# Attempt a merge of changes from test-branch to
- # testYYY-branch.
- self.svnmerge("merge -r 16 -S ../test-branch")
...Забавно следующее: т.е получается содержимое properties можно было бы мерджить автоматически, если бы можно было бы описать, что данное property имеет текстовый mime type. Т.е. свойства свойств... Но тогда те свойства svnmerge-у пришлось бы тоже уметь мерджить... И т.д...В реальности, однако, даже текстовые свойства было бы опасно мерджить - ничего хорошего для svnmerge, по крайней мере, из этого не выйдет.
