我们的一个客户想要引入应用程序数据的锁定和版本控制。我们想出了使用 subversion/tortoise 来实现这一点的想法。这看起来很简单而且很直接,但是根据我们文件的性质,我们有一些特殊性质:
我们的应用程序中的“数据库”(我们称之为文档)由多个文件组成,这些文件通过同一目录中的名称模式相互引用。单个目录中可能存在多个“数据库”。如果用户签出(锚定)文件,则属于该数据库的所有其他文件也必须签出。签入也是如此。文件包含二进制数据。
示例:一个目录包含 2 个“数据库”:
- DB1.xxx,A_DB1.xxx,乙_DB1.xxx
- DB2.xxx,A_DB2.xxx,乙_DB2.xxx
如果 DB1.xxx 被签出(锁定),A_DB1.xxx 和 B_DB1.xxx 也必须被锁定,但 DB2 的文件可以由其他人签出。然后我们在本地副本上工作,之后用户可以签入或取消更改。
使用 subversion 可以实现吗?如何实现?我们应该使用其他方法吗?
我知道我们的文件等的组织可以做得更好 - 但目前无法改变这一点。