Index: src/applications/diffusion/engine/DiffusionCommitHookEngine.php =================================================================== --- src/applications/diffusion/engine/DiffusionCommitHookEngine.php +++ src/applications/diffusion/engine/DiffusionCommitHookEngine.php @@ -733,13 +733,26 @@ private function findSubversionRefUpdates() { - // TODO: Implement. + // Subversion doesn't have any kind of mutable ref metadata. return array(); } private function findSubversionContentUpdates(array $ref_updates) { - // TODO: Implement. - return array(); + list($youngest) = execx( + 'svnlook youngest %s', + $this->subversionRepository); + $ref_new = (int)$youngest + 1; + + $ref_flags = 0; + $ref_flags |= PhabricatorRepositoryPushLog::CHANGEFLAG_ADD; + $ref_flags |= PhabricatorRepositoryPushLog::CHANGEFLAG_APPEND; + + $ref_content = $this->newPushLog() + ->setRefType(PhabricatorRepositoryPushLog::REFTYPE_COMMIT) + ->setRefNew($ref_new) + ->setChangeFlags($ref_flags); + + return array($ref_content); } Index: src/applications/repository/storage/PhabricatorRepositoryPushLog.php =================================================================== --- src/applications/repository/storage/PhabricatorRepositoryPushLog.php +++ src/applications/repository/storage/PhabricatorRepositoryPushLog.php @@ -16,7 +16,6 @@ const REFTYPE_BRANCH = 'branch'; const REFTYPE_TAG = 'tag'; const REFTYPE_BOOKMARK = 'bookmark'; - const REFTYPE_SVN = 'svn'; const REFTYPE_COMMIT = 'commit'; const CHANGEFLAG_ADD = 1;