合并SVN中的文件夹仅记录日志中的文件夹,而不记录其中的文件

时间:2016-07-21 16:05:54

标签: sql-server svn merge continuous-integration

方案如下。

我们正在运行一个CI服务器,它扫描存储库以查找任何.sql更改,然后针对目标数据库执行它们。

目前它失败了,因为SVN没有记录文件夹中的文件更改(已从分支合并)。合并信息也是提交。

示例:

  • 开发人员将“/ Trunk”分支到“/ Branches / CR1”
  • 开发人员添加了一个新文件夹“CR1 / Scripts”
  • Developer添加两个新文件“Scripts / Script1.sql”和“Scripts / Script2.sql”
  • 开发人员将文件夹和文件一起提交
  • 开发人员从CR1合并到Trunk,提交对话框显示状态“正常”

Commit Dialog showing a status of "Normal"

  • CI服务器检测不到任何更改
  • 开发人员检查日志,但未提及Script1.sql或Script2.sql

Commit Log showing no changed scripts

所有这一切都通过Windows上的TortoiseSVN显示,CI服务器使用的是SharpSvn .NET库。

任何有关如何获取* .sql文件的帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

已接近一年,在此期间我们使用了一种解决方法来查找丢失的文件。使用CLI命令get_config(),我们扫描了具有svn log -v文本的任何目录,并在磁盘而不是SVN上列出了该目录中的内容。

虽然这确实为我们提供了该文件夹中的完整文件列表,但我们应该能够远程获取此信息,而无需查看存储库的副本。当一位同事最近也遇到这个问题时,他们在freenode上找到了IRC频道#svn的答案。

使用CLI命令COPY-FROM-PATH,您可以在修订版本之间获得区别,感谢svn diff <url>[old rev] <url>[new rev] --summarize标记显示所有文件,最终回答原始问题。