用户元数据的版本控制

时间:2010-02-19 16:16:07

标签: svn version-control git-svn

我有一个问题,很可能没有一个独特而明确的答案。 在我们使用SVN的团队中,许多人正在使用git-svn(将其视为花哨的SVN客户端)。

我们将一些项目相关的出版物,报告和文档存储在存储库中,例如trunk/Documents/*。每个用户创建自己的与给定文档相关的注释,注释等 - 比方说trunk/Documents/doc1.txt。因此,最终我们有 N 用户doc1.txt.metadata

您对存储此元数据的建议是什么?每个用户元数据的分支?

1 个答案:

答案 0 :(得分:2)

由于文件因用户而异,我能想到的最简洁的方法是保留doc1.txt.metadata.username等文本文件。为每个用户元文件保留单独的分支对我来说听起来很复杂,并且难以在日常使用中使用。

可能会有使用预提交和/或提交后挂钩自动执行此操作的想法,但它是discouraged in the SVN book

  

虽然钩子脚本几乎可以做任何事情,但钩子脚本作者应该有一个维度显示约束:不要使用钩子脚本修改提交事务。 ...而不是修改事务,您应该只是在预提交钩子中验证事务,如果它不符合所需要求,则拒绝提交。作为奖励,您的用户将学习细心,合规的工作习惯的价值。

最简单的方法可能是建立doc1.txt.metadata.username作为规则,并编写一个预提交脚本,拒绝任何.metadata个文件的提交,而不使用当前用户名作为扩展名。