[PATCH 1 of 2] setup-db: perform an initial repository scan as stated by the docs (issue #302)
Thomas De Schampheleire
thomas.de_schampheleire at nokia.com
Fri May 4 19:46:29 UTC 2018
# HG changeset patch
# User Thomas De Schampheleire <thomas.de_schampheleire at nokia.com>
# Date 1525204743 -7200
# Tue May 01 21:59:03 2018 +0200
# Node ID fbdbd8183187616774d8b5c4940783b9378286b7
# Parent 6e75963503cc53f22787f6a8ca14a608f9b23c40
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).
diff --git a/kallithea/lib/paster_commands/setup_db.py b/kallithea/lib/paster_commands/setup_db.py
--- a/kallithea/lib/paster_commands/setup_db.py
+++ b/kallithea/lib/paster_commands/setup_db.py
@@ -23,6 +23,7 @@ import os
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 @@ class Command(BasePasterCommand):
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.'
More information about the kallithea-general
mailing list