Page MenuHomePhabricator

Diffusion fails to parse history for hosted Subversion repositories
Closed, ResolvedPublic

Description

Hosted Subversion repositories don't appear to use the correct method for examining history. I get the following from the Daemon console log:

[2013-12-13 15:46:12] EXCEPTION: (PhutilProxyException) Error while executing task ID 4950 from queue. {>} (CommandException) Command failed with error #1!
COMMAND
svn --non-interactive log --xml  --limit 1 ''@1

STDOUT
(empty)

STDERR
svn: E125001: '@1' is just a peg revision. Maybe try '@1@' instead?
 at [/isis/phabricator/libphutil/src/future/exec/ExecFuture.php:349]
  #0 ExecFuture::resolvex() called at [/isis/phabricator/phabricator/src/applications/repository/storage/PhabricatorRepository.php:207]
  #1 PhabricatorRepository::execxRemoteCommand(log --xml  --limit 1 %s@%d, null, 1) called at [/isis/phabricator/phabricator/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php:68]
  #2 PhabricatorRepositoryCommitParserWorker::getSVNLogXMLObject(null, 1, false) called at [/isis/phabricator/phabricator/src/applications/repository/worker/commitmessageparser/PhabricatorRepositorySvnCommitMessageParserWorker.php:15]
  #3 PhabricatorRepositorySvnCommitMessageParserWorker::parseCommit(Object PhabricatorRepository, Object PhabricatorRepositoryCommit) called at [/isis/phabricator/phabricator/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php:44]
  #4 PhabricatorRepositoryCommitParserWorker::doWork() called at [/isis/phabricator/phabricator/src/infrastructure/daemon/workers/PhabricatorWorker.php:84]
  #5 PhabricatorWorker::executeTask() called at [/isis/phabricator/phabricator/src/infrastructure/daemon/workers/storage/PhabricatorWorkerActiveTask.php:122]
  #6 PhabricatorWorkerActiveTask::executeTask() called at [/isis/phabricator/phabricator/src/infrastructure/daemon/workers/PhabricatorTaskmasterDaemon.php:19]
  #7 PhabricatorTaskmasterDaemon::run() called at [/isis/phabricator/libphutil/src/daemon/PhutilDaemon.php:85]
  #8 PhutilDaemon::execute() called at [/isis/phabricator/libphutil/scripts/daemon/exec/exec_daemon.php:112]

The above command will obviously not work on a hosted repository as there is not a working copy: the damons should be using the svnlook command instead.

Event Timeline

wotte raised the priority of this task from to Needs Triage.
wotte updated the task description. (Show Details)
wotte added a project: Diffusion.
wotte added a subscriber: wotte.

Yeah, this is clearly wrong. The expectation is that they'll use file:///... instead.