Subversion 可以“分组”文件吗?

Subversion 可以“分组”文件吗?

我们的一个客户想要引入应用程序数据的锁定和版本控制。我们想出了使用 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 可以实现吗?如何实现?我们应该使用其他方法吗?

我知道我们的文件等的组织可以做得更好 - 但目前无法改变这一点。

答案1

您正在尝试做什么应该使用 subversion 预提交钩子可以实现这一点。在钩子脚本中,您可以检查要提交的文件列表,如果文件集有误,则可以否决提交(将有意义的错误消息写入 stderr)。

我还没有看到有人发布过类似这样的钩子脚本,所以你必须自己动手。首先你应该阅读颠覆之书部分写作实施钩子脚本和一些钩子脚本示例

相关内容