From a3e717f0315e95a0342cd3a16a2976a3f7b02add Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Fri, 5 Apr 2013 13:01:04 +0100 Subject: [PATCH] [eit.commands.pull] make sure to generate the database index when pulling --- server/eit/commands/pull.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/server/eit/commands/pull.py b/server/eit/commands/pull.py index 40fb181b5..b0df4a9d3 100644 --- a/server/eit/commands/pull.py +++ b/server/eit/commands/pull.py @@ -16,7 +16,7 @@ import tempfile import codecs from entropy.const import etpConst, const_convert_to_unicode -from entropy.exceptions import OnlineMirrorError +from entropy.exceptions import OnlineMirrorError, RepositoryError from entropy.i18n import _ from entropy.output import darkgreen, teal, red, darkred, brown, blue, \ bold, purple @@ -173,6 +173,22 @@ repository) by pulling updated data. "%s: %s" % (darkred(_("Error")), err.value), importance=1, level="error") return 1 + + # try (best-effort) to generate the index of the newly + # downloaded repository (indexing=True). + repo = None + try: + if sts == 0: + repo = entropy_server.open_server_repository( + repository_id, read_only=False, indexing=True, + lock_remote=False, do_treeupdates=False) + except RepositoryError: + repo = None + finally: + if repo is not None: + repo.commit() + entropy_server.close_repository(repo) + EitPush.print_repository_status(entropy_server, repository_id) return sts