Subversion over HTTP, какая команда приводит к следующим запросам? - PullRequest
0 голосов
/ 28 января 2019

В настоящее время я отлаживаю проблемы с проприетарным сторонним svn-клиентом, к которому у меня нет исходного кода (я уверен, что он работает вокруг стандартной команды svn, и пользовательский агент соответствует этому).Когда его просят проанализировать наше репо, он выполняет следующие 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 (который содержит текстовую дельту сразу).Если я делаю обычный svn co URL, он запрашивает update-report и получает update-report (который не содержит textdelta, но D:href, который вызывает GET).

Кто-нибудь знает, какая svn (или, возможно, svnsync) команда и аргументы вызывают запросы?Это очень помогло бы сузить проблемы на местном уровне.

1 Ответ

0 голосов
/ 28 января 2019

Включите высокоуровневое ведение журнала операций, запустите пользовательский клиент и проверьте журнал.Вы должны увидеть события, которые соответствуют действиям клиента 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 .

...