Java 如何执行;svn diff“;在一些定制Junit中作为Teamcity构建的一部分

Java 如何执行;svn diff“;在一些定制Junit中作为Teamcity构建的一部分,java,svn,diff,teamcity,Java,Svn,Diff,Teamcity,作为Teamcity构建的一部分,如何在一些定制Junit中执行“svn diff” 我想获取文件当前版本和以前版本之间的更改 我知道Teamcity在签出模式下运行时,会签出完整的回购协议,然后应用更改。 希望在应用更改和存储文件之前获取差异 你能给我一些建议吗 谢谢。您的选择似乎是: 从测试中执行svn客户端进程。确保在TeamCity中使用代理端签出,并在代理计算机上安装客户端,因为TeamCity使用Java库而不是svn客户端 使用TeamCity的TeamCity.build.ch

作为Teamcity构建的一部分,如何在一些定制Junit中执行“svn diff”

我想获取文件当前版本和以前版本之间的更改

我知道Teamcity在签出模式下运行时,会签出完整的回购协议,然后应用更改。 希望在应用更改和存储文件之前获取差异

你能给我一些建议吗


谢谢。

您的选择似乎是:

  • 从测试中执行svn客户端进程。确保在TeamCity中使用代理端签出,并在代理计算机上安装客户端,因为TeamCity使用Java库而不是svn客户端

  • 使用TeamCity的TeamCity.build.changedFiles.file生成。但这将只列出自上一次构建相同构建配置以来的文件更改

  • 使用TeamCity列出更改,然后获取其文件

  • 编写一个TeamCity Java插件,该插件将从其开放API获取文件信息,并将其提供给构建


感谢您提供访问文件的方式。。使用changedFiles build参数,我可以通过映射到workingDir来构建位于代理上的文件的精确绝对路径,从而访问文件的更新修改内容。但是,由于我的checkoutDir和workingDir都指向代理上的同一个位置,似乎我当前远程运行对文件的更改正在合并并存储在一个位置。是否可以将其视为两个不同的文件,以便我可以获得当前版本和以前提交的版本的差异。