【问题标题】:Is there a way to query SVN logs from SSMS?有没有办法从 SSMS 查询 SVN 日志?
【发布时间】:2020-05-12 16:22:09
【问题描述】:

我想做类似于Linked Server 的事情,但我想使用 SQL Server 查看 SVN 日志,

目前我有 2 个不同的数据库,第一个在 SQL Server 2012 上运行,第二个在 MySQL 5.5(旧数据库)上运行,它们的主表上都有一个名为“BugID”的字段,我能够创建与此类似的报告:

SELECT *
FROM OPENQUERY(
    DB1_MYSQL_LINKEDSERVER, 'SELECT field1, field2, bugId  FROM some_mysql_table'
) AS mysql_data
JOIN OPENQUERY(
    DB2_SQLSV_LINKEDSERVER, 'SELECT field3, field4, bugId FROM some_sqlsv_table'
) AS sqlsv_data ON mysql_data.bugId = sqlsv_data.bugId 

但是,现在我想将这些信息与SVN LOGS 交叉,如下所示:

JOIN OPENQUERY(
    DB3_SVNLG_LINKEDSERVER, 'SELECT log_message, bugId FROM svn_logs'
) AS svnlg_data ON svnlg_data.bugId = sqlsv_data.bugId 

作为一种解决方法,我认为我可以使用cmd 执行svn log --xml 并填充一些表from the XML file,但这似乎需要做很多工作,所以我想知道是否有办法透明地执行此操作。

【问题讨论】:

  • 为什么要将已经在一个数据库(SVN 存储库)中的数据复制到另一个数据库(SQL)?用例是什么?
  • 应对数据是解决方法,我不想复制数据,我的用例是将 SVN 日志数据与另一个数据库连接起来,有些数据在 SVN 中不存在存储库,我正在构建一个报告
  • 我认为您可以使用指向修订的变更集视图的链接,请参阅我回答的第二段。

标签: sql-server svn ssms linked-server


【解决方案1】:

您可以使用--xml 选项调用svn log。解析 XML 格式的输出并将您需要的信息存储在数据库中

但是,您无需将数据从 SVN 存储库复制到 SQL 数据库,只需在服务器的 Web UI 中指定一个修订链接即可。链接如下https://demo-server.visualsvn.com/!/#asf/commit/r1877259/head/subversion/trunk 并指向一个带有日志消息的网页,区分所有其他信息。

【讨论】:

  • 两种方法都不适合我的要求,如果可以直接从 SSMS 看到输出,svn log --xml 命令会很棒(不是)... VisualSVN 链接方法不是更好,因为链接指向单个修订,我需要查询所有这些,现在我正在尝试svn log 方式,但仍然没有达到问题的目的
猜你喜欢
  • 1970-01-01
  • 2018-06-02
  • 1970-01-01
  • 2011-04-23
  • 2020-08-05
  • 1970-01-01
  • 1970-01-01
  • 2019-04-15
  • 1970-01-01
相关资源
最近更新 更多