检测SVN中共享源的不一致修订
我有一个SVN存储库,其中包含几个组件:检测SVN中共享源的不一致修订,svn,Svn,我有一个SVN存储库,其中包含几个组件: 图书馆 图书馆B-取决于图书馆A 应用-取决于LibraryB和LibraryA 更详细的结构(分支和标记与问题无关): 图书馆 图书馆代码 图书馆B 图书馆B_代码 svn:图书馆代码固定版本R1的外部 应用 应用程序代码 svn:图书馆代码固定版本R2的外部 svn:图书馆B_代码固定版本R3的外部 我试图解决的问题是,当R2与R1不同时,自动检测情况(打破对LibraryB_代码的期望),并通知相关情况(例如,构建失败) 我将在
- 图书馆
- 图书馆B-取决于图书馆A
- 应用-取决于LibraryB和LibraryA
- 图书馆
- 图书馆代码
- 图书馆B
- 图书馆B_代码
- svn:图书馆代码固定版本R1的外部
- 应用
- 应用程序代码
- svn:图书馆代码固定版本R2的外部
- svn:图书馆B_代码固定版本R3的外部
环境:Windows、Visual Studio、SVN。为每个库存储一个文件,其中包含每个依赖项所需的修订版。添加生成后事件,该事件将这些修订与“svnversion”的结果进行比较,并在任何检查失败时中断生成 缺点:
为每个库存储一个文件,其中包含每个依赖项所需的修订。添加一个生成后事件,将这些修订与“svnversion”的结果进行比较,并在任何检查失败时中断生成 缺点:
当您修改库B的
svn:externals
属性并提交此更改时,您将创建库B的新修订版。这意味着,应用程序存储库仍然是一致的。您
只需要在修改应用程序本身的svn:externals
属性时才需要担心
这种情况可以在应用程序存储库的a中处理。该钩子将库B的指定版本签出到临时目录,并将其所需的库a版本与应用程序所需的版本进行比较。有关可用钩子的列表,请参阅。当您修改
svn:externals
属性时并提交此更改后,您将创建库B的新修订版。这意味着,应用程序存储库仍然保持一致。您
只需要在修改应用程序本身的svn:externals
属性时才需要担心
这种情况可以在应用程序存储库的a中处理。该钩子将库B的指定版本签出到临时目录,并将其所需的库a版本与应用程序所需的版本进行比较。有关可用钩子的列表,请参阅。Cool:)您听说过在其他项目中使用这种方法吗?如果有一些广泛的实现,最好使用它。AFAIK钩子不存储在存储库中,因此这部分逻辑将不会成为历史记录、备份等的一部分,并且在没有访问SVN服务器的情况下,无法被人查看,因此拥有尽可能少的cust将是一件好事酷:)你听说过在其他项目中使用这种方法吗?如果有一些广泛的实现,最好使用它。AFAIK钩子不存储在存储库中,因此这部分逻辑不会成为历史记录、备份等的一部分,并且在没有访问SVN服务器的情况下无法被查看,因此最好尽量减少自定义。