【问题标题】:Subversion over HTTP, which command results in the following requests?Subversion over HTTP,哪个命令导致以下请求?
【发布时间】:2019-06-21 09:59:15
【问题描述】:

我目前正在调试我没有源代码的专有第三方 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

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

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

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

【问题讨论】:

    标签: svn svnsync mod-dav-svn


    【解决方案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

    【讨论】:

    • 谢谢!看起来这八个请求是由svnsync initsvnsync sync 引起的(但顺序有点混乱)。就操作日志而言,即rev-proplist 后跟replay
    猜你喜欢
    • 2020-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-30
    • 1970-01-01
    • 1970-01-01
    • 2010-12-11
    • 1970-01-01
    相关资源
    最近更新 更多