stable

Clone or download

Read-only

SVN Core ➡️ Plugin migration with data in place

Initially the migration of svn core to plugin involved move of data from svnroot to svnplugin prefix (with new name, path & all). The previous commit demonstrate that we can perfectly have two kind of storage (svnroot or svn_plugin) without touching the URLs (the most important stuff because it's involve in svn:externals). This commit changes the way migration is done to actually "delegate" the core repository management to the plugin. That basically means that Core should no longer interfer in delegated repositories business. The initial conditional display of "CoreRepository" in svn plugin view is removed because the migration is the action to promote. Please note that the action is more or less reversible in db (for tests) by removing the repository with `is_core = 1` for the project. This might evolve toward a real feature (for test) in a future commit. Part of request #17893 Phase-out core "Subversion" service Change-Id: Ib354c8070b6732532bee627380d80d676e3c99c0

Modified Files

Name
M plugins/svn/bin/migrate_to_plugin.php +7 −17 Go to diff View file
M plugins/svn/db/install.sql +2 −1 Go to diff View file
A plugins/svn/db/mysql/updates/2020/20201103_add_is_core_to_repositories.php +49 −0 Go to diff View file
A plugins/svn/include/Events/SystemEvent_SVN_IMPORT_CORE_REPOSITORY.php +144 −0 Go to diff View file
M plugins/svn/include/SVN/AccessControl/AccessFileHistory.php +4 −2 Go to diff View file
M plugins/svn/include/SVN/AccessControl/AccessFileHistoryFactory.php +4 −4 Go to diff View file
M plugins/svn/include/SVN/Admin/AdminController.php +4 −1 Go to diff View file
M plugins/svn/include/SVN/Admin/SectionsPresenter.php +24 −2 Go to diff View file
M plugins/svn/include/SVN/Dao.php +30 −16 Go to diff View file
M plugins/svn/include/SVN/Logs/LastAccessDao.php +14 −2 Go to diff View file
M plugins/svn/include/SVN/Migration/BareRepositoryCreator.php +3 −58 Go to diff View file
M plugins/svn/include/SVN/Migration/SettingsRetriever.php +4 −4 Go to diff View file
M plugins/svn/include/SVN/Repository/CoreRepository.php +28 −5 Go to diff View file
M plugins/svn/include/SVN/Repository/RepositoryCreator.php +34 −19 Go to diff View file
M plugins/svn/include/SVN/Repository/RepositoryDeleter.php +13 −9 Go to diff View file
M plugins/svn/include/SVN/Repository/RepositoryManager.php +82 −33 Go to diff View file
M plugins/svn/include/SVN/Repository/Settings.php +4 −1 Go to diff View file
A plugins/svn/include/SVN/Repository/SvnCoreAccess.php +103 −0 Go to diff View file
M plugins/svn/include/SVN/Repository/SvnRepository.php +1 −1 Go to diff View file
M plugins/svn/include/SVN/XMLImporter.php +2 −3 Go to diff View file
M plugins/svn/include/SVN/XMLRepositoryImporter.php +3 −4 Go to diff View file
M plugins/svn/include/svnPlugin.php +35 −12 Go to diff View file
M plugins/svn/site-content/fr_FR/LC_MESSAGES/tuleap-svn.po +4 −1 Go to diff View file
M plugins/svn/templates/admin/section_presenter.mustache +5 −3 Go to diff View file
M plugins/svn/tests/unit/SVN/Repository/RepositoryDeleterTest.php +18 −3 Go to diff View file
M plugins/svn/tests/unit/SVN/Repository/RepositoryManagerTest.php +50 −8 Go to diff View file
A plugins/svn/tests/unit/SVN/Repository/SvnCoreAccessTest.php +115 −0 Go to diff View file
M src/common/backend/BackendSVN.class.php +41 −0 Go to diff View file
A src/common/svn/SvnCoreAccess.php +70 −0 Go to diff View file
A src/common/svn/SvnCoreUsage.php +46 −0 Go to diff View file
M src/common/svn/viewvc/ViewVCController.php +5 −0 Go to diff View file
M src/common/system_event/include/SystemEvent_SYSTEM_CHECK.class.php +5 −23 Go to diff View file
M src/www/svn/admin/index.php +10 −1 Go to diff View file
M src/www/svn/index.php +13 −3 Go to diff View file
M tests/lib/Builders/LayoutInspector.php +1 −1 Go to diff View file
M tests/lib/Builders/ProjectTestBuilder.php +1 −1 Go to diff View file