2

我目前正在调试我没有源代码的专有第三方 svn 客户端的问题(我相信它围绕标准svn命令运行并且用户代理与之匹配)。当被要求分析我们的 repo 时,它会向我们的服务器发出以下 14 个请求

OPTIONS /svn/myrepo
OPTIONS /svn/myrepo
OPTIONS /svn/myrepo
PROPFIND /svn/myrepo/!svn/rvr/1
OPTIONS /svn/myrepo
PROPFIND /svn/myrepo
--------------------------------
OPTIONS /svn/myrepo
OPTIONS /svn/myrepo
OPTIONS /svn/myrepo
OPTIONS /svn/myrepo
OPTIONS /svn/myrepo
PROPFIND /svn/myrepo/!svn/rev/0
PROPFIND /svn/myrepo/!svn/rev/1
REPORT /svn/myrepo/!svn/rev/1

我相信我已经将前六个确定为 a svn info URL,这是有道理的。

但是,我不知道是哪个 svn 命令导致了剩下的 8 个请求。最后一个REPORT请求 areplay-report并收到一个editor-report(立即包含 textdelta)。如果我执行常规操作svn co URL,它会要求 anupdate-report并接收 an update-report(不包含 textdelta,但D:href会导致 a GET)。

有谁知道哪个svn(或可能svnsync)命令和参数导致请求?这将有助于缩小本地问题的范围。

4

1 回答 1

1

启用高级操作日志记录,运行您的自定义客户端并检查日志。您应该会看到与 SVN 客户端操作相对应的事件。这里有些例子:

  • checkout-or-export /MyProject/trunk r123 depth=infinity

  • log (/path1,/path2,/path3) r21:87 discover-changed-paths revprops=()

  • status /path r62 depth=infinity

有关操作日志事件的完整列表,请参阅SVNBook

于 2019-01-28T11:55:54.073 回答