Контроль версий метаданных пользователей - PullRequest
0 голосов
/ 19 февраля 2010

У меня есть вопрос, который, скорее всего, не имеет однозначного и четкого ответа. В команде, которую мы используем SVN, многие люди используют git-svn (рассматривая его как фантастический клиент SVN).

Мы храним некоторые связанные с проектом публикации, отчеты, документы в репозитории, скажем, trunk/Documents/*. Каждый из пользователей создает свои собственные заметки, аннотации и т. Д., Относящиеся к данному документу - скажем, trunk/Documents/doc1.txt. Таким образом, в итоге у нас есть N пользователей, имеющих doc1.txt.metadata.

Каковы ваши рекомендации по хранению этих метаданных? Ветки для каждого пользователя метаданные?

1 Ответ

2 голосов
/ 19 февраля 2010

Поскольку файлы будут различаться в зависимости от пользователя, самый чистый способ, которым я могу придумать, - это хранить текстовые файлы, такие как doc1.txt.metadata.username.Хранение отдельных веток для каждого пользовательского метафайла кажется сложным и трудным для повседневного использования.

Была бы идея автоматизировать это с помощью хука до и / или пост-фиксации, но это не рекомендуется в книге SVN :

В то время как сценарии ловушек могут делать почти все, есть одно измерение, в котором авторы сценариев ловушек должны проявлять сдержанность: неизменить транзакцию фиксации, используя скрипты ловушек.... Вместо изменения транзакции вы должны просто проверить транзакцию в хуке предварительной фиксации и отклонить фиксацию, если она не удовлетворяет требуемым требованиям.В качестве бонуса ваши пользователи узнают ценность осторожных, ориентированных на соблюдение рабочих привычек.

Самым простым может быть установить doc1.txt.metadata.username как правило и написать сценарий предварительной фиксациикоторый отклоняет любые коммиты .metadata файлов без текущего имени пользователя в качестве расширения.

...