我们的项目中有一些外部定义。外部是用修订号定义的(我们希望保持这种方式并且不想使用 head-revision)。
我们正在寻找的是某种通知,当该项目的外部的更新版本可用时触发。这样我们就知道何时可以(如果我们愿意)切换到该外部的更新版本。
目前我们在脚本中使用 TortoiseSVN 命令行工具,但这有一些缺点。
是否有工具或脚本可以满足我们的需求?
如果没有哪个更好的方法:
我们的项目中有一些外部定义。外部是用修订号定义的(我们希望保持这种方式并且不想使用 head-revision)。
我们正在寻找的是某种通知,当该项目的外部的更新版本可用时触发。这样我们就知道何时可以(如果我们愿意)切换到该外部的更新版本。
目前我们在脚本中使用 TortoiseSVN 命令行工具,但这有一些缺点。
是否有工具或脚本可以满足我们的需求?
如果没有哪个更好的方法:
只是概念,您可以将其转换为代码
如果您在 form 中有 external 的 PEG 定义URL/OF/EXTERNAL@RevNo
,您就会知道最新版本的 URL:它将是URL/OF/EXTERNAL@HEAD
或只是URL/OF/EXTERNAL
为了监视更改,您可以区分两个 URL
因为你想知道变化的事实,你可以用--summarize
选项调用 diff
>svn diff https://subversion.assembla.com/svn/subversion-troubleshoot-b/trunk@5 https://subversion.assembla.com/svn/subversion-troubleshoot-b/trunk@HEAD --summarize
M https://subversion.assembla.com/svn/subversion-troubleshoot-b/trunk
这trunk@5
是定义的修订,非空输出 - 链接仓库中现有附加提交的标志,您必须另外识别,可能使用默认差异
>svn diff https://subversion.assembla.com/svn/subversion-troubleshoot-b/trunk@5 https://subversion.assembla.com/svn/subversion-troubleshoot-b/trunk@HEAD
Index: .
===================================================================
--- . (revision 5)
+++ . (revision 7)
...
以 +++ 开头的字符串包含 HEAD 的数值
另一种方法
如果你有外部定义,fe
>svn pl https://subversion.assembla.com/svn/subversion-troubleshoot-b/tags/1.0.1 -v
Properties on 'https://subversion.assembla.com/svn/subversion-troubleshoot-b/tags/1.0.1':
svn:externals
-r 2 https://subversion.assembla.com/svn/subversion-trouble-shooting/trunk/lib@2 lib
您可以 ls external 并获取 head 的修订(并将其与定义的值进行比较)
>svn ls -v https://subversion.assembla.com/svn/subversion-trouble-shooting/trunk/lib
2 teno окт 17 2012 ./
2 teno 23 окт 17 2012 lib01.txt
字符串的第一列./
包含 HEAD-revision
无编码方式
安装CommitMonitor(用于 http 类型的存储库),将所有外部组件添加到其中,控制 Monitor 活动,检查,检查提交日志