I'm currently debugging issues with a proprietary third party svn client that I don't have the source code to (I'm confident it operates around the standard svn
command and the user-agent matches that). When being asked to analyze our repo it does the following 14 requests to our server
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
I believe I've identified the first six as a svn info URL
, which makes sense.
However, I can't figure out which svn command causes the remaining 8 requests. The last REPORT
asks for a replay-report
and receives an editor-report
(which contains the textdelta right away). If I do a regular svn co URL
it asks for an update-report
and receives an update-report
(which doesn't contain the textdelta, but an D:href
that causes a GET
).
Does anyone know which svn
(or possibly svnsync
) command and arguments cause the requests? That would help a lot in narrowing down the issues locally.
Enable high-level operational logging, run your custom client and check the log. You should see events that correspond to the SVN client actions. Here are some examples:
checkout-or-export /MyProject/trunk r123 depth=infinity
log (/path1,/path2,/path3) r21:87 discover-changed-paths revprops=()
status /path r62 depth=infinity
See SVNBook for the complete list of the operational log events.