Subversion可以“分组”文件吗?

我们的客户希望引入我们的应用程序数据的locking和版本。 我们想出了使用颠覆/乌龟来做到这一点的想法。 这看起来简单而直截了当,但是我们有一些基于文件本质的特殊性质:

在我们的应用程序中,“数据库”(我们称之为文档)由许多文件组成,这些文件通过同一目录中的名称模式相互引用。 更多的一个“数据库”可能存在于一个目录中。 如果用户签出(定位)文件,则必须检出属于该数据库的所有其他文件。 这同样适用于签入。 这些文件包含二进制数据。

例如:一个目录包含2个“数据库”:

  • DB1.xxx, A _DB1.xxx, B _DB1.xxx
  • DB2.xxx,_DB2.xxx, B _DB2.xxx

如果DB1.xxx被检出(locking),则A_DB1.xxx和B_DB1.xxx也必须被locking,但是DB2的文件可以由其他人检出。 然后,我们在本地副本上工作,之后可以检查或取消用户的更改。

这是可能的使用颠覆? 怎么样? 我们应该用别的东西吗?

我知道,我们的文件等的组织可以做得更好 – 但目前不可能改变这一点。

你试图做的应该是可能的使用颠覆预先提交钩子。 在hook scrip里面,如果文件集是错的,你可以检查提交的文件列表,否决提交(写一个有意义的错误信息到stderr)。

我还没有看到有人发布钩子脚本来做任何事情,所以你将不得不推出自己的。 要开始你应该阅读关于编写和实现钩子脚本和一些示例钩子脚本 的颠覆书部分