Mercurial > kallithea
changeset 7259:6e270cedc8aa
setup-db: perform an initial repository scan as stated by the docs (Issue #302)
The documentation, as well as the prompt text inside setup-db itself, states
that the repository root location will be scanned automatically for existing
repositories.
However, this is not actually the case. Only exception is when the
'initial_repo_scan' is set to True in the ini file; in that case the scan is
done on each start of Kallithea.
Add the required repo scan logic at the end of setup-db, after setting up
the application completely (the database has only just been set up).
The app setup code from BasePasterCommand is duplicated - this command doesn't
fit in and need to run both before and after database creation.
The scan call from kallithea/config/app_cfg.py is also duplicated - that will
be removed next.
author | Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> |
---|---|
date | Tue, 01 May 2018 21:59:03 +0200 |
parents | 6e75963503cc |
children | 52544ad8a946 |
files | kallithea/lib/paster_commands/setup_db.py |
diffstat | 1 files changed, 11 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/lib/paster_commands/setup_db.py Mon Apr 23 22:06:37 2018 +0200 +++ b/kallithea/lib/paster_commands/setup_db.py Tue May 01 21:59:03 2018 +0200 @@ -23,6 +23,7 @@ import sys import paste.deploy +import kallithea from kallithea.lib.db_manage import DbManage from kallithea.lib.paster_commands.common import BasePasterCommand from kallithea.model.meta import Session @@ -103,4 +104,14 @@ dbmanage.populate_default_permissions() Session().commit() + # initial repository scan + kallithea.config.middleware.make_app_without_logging( + self.config.global_conf, **self.config.local_conf) + added, _ = kallithea.lib.utils.repo2db_mapper(kallithea.model.scm.ScmModel().repo_scan()) + if added: + print 'Initial repository scan: added following repositories:' + print '\t','\n\t'.join(added) + else: + print 'Initial repository scan: no repositories found.' + print 'Database set up successfully.'