From c1177170d5c3dfe0a47a1879096ea579f92026e6 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Tue, 3 Jul 2018 04:17:54 +0200 Subject: [PATCH] pkglistgen: Add --no-checkout option to accelerate reruns --- pkglistgen.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkglistgen.py b/pkglistgen.py index 9b9551b3..57a57e82 100755 --- a/pkglistgen.py +++ b/pkglistgen.py @@ -1145,6 +1145,7 @@ class CommandLineInterface(ToolBase.CommandLineInterface): @cmdln.option('-f', '--force', action='store_true', help='continue even if build is in progress') @cmdln.option('-p', '--project', help='target project') @cmdln.option('-s', '--scope', default='all', help='scope on which to operate ({})'.format(', '.join(SCOPES))) + @cmdln.option('--no-checkout', action='store_true', help='reuse checkout in cache') def do_update_and_solve(self, subcmd, opts): """${cmd_name}: update and solve for given scope @@ -1252,15 +1253,19 @@ class CommandLineInterface(ToolBase.CommandLineInterface): host = urlparse.urlparse(apiurl).hostname cache_dir = save_cache_path('opensuse-packagelists', host, opts.project) - if os.path.exists(cache_dir): - shutil.rmtree(cache_dir) - os.makedirs(cache_dir) + if not opts.no_checkout: + if os.path.exists(cache_dir): + shutil.rmtree(cache_dir) + os.makedirs(cache_dir) group_dir = os.path.join(cache_dir, group) product_dir = os.path.join(cache_dir, product) release_dir = os.path.join(cache_dir, release) for package in checkout_list: + if opts.no_checkout: + print("Skipping checkout of {}/{}".format(opts.project, package)) + continue checkout_package(apiurl, opts.project, package, expand_link=True, prj_dir=cache_dir) if not skip_release: