diff --git a/bench/app.py b/bench/app.py index 8b528ae6..ad3b5c71 100644 --- a/bench/app.py +++ b/bench/app.py @@ -40,11 +40,12 @@ def install_app(app, bench='.'): def pull_all_apps(bench='.'): apps_dir = os.path.join(bench, 'apps') apps = [app for app in os.listdir(apps_dir) if os.path.isdir(os.path.join(apps_dir, app))] + rebase = '--rebase' if get_config().get('rebase_on_pull') else '' for app in apps: app_dir = os.path.join(apps_dir, app) if os.path.exists(os.path.join(app_dir, '.git')): logger.info('pulling {}'.format(app)) - exec_cmd("git pull --rebase upstream HEAD", cwd=app_dir) + exec_cmd("git pull {rebase} upstream HEAD".format(rebase=rebase), cwd=app_dir) def install_apps_from_path(path, bench='.'): apps = get_apps_dict(path) diff --git a/bench/cli.py b/bench/cli.py index d858c62d..0710dbc1 100644 --- a/bench/cli.py +++ b/bench/cli.py @@ -227,15 +227,23 @@ def config_dns_multitenant(state): @click.command('serve_default_site') @click.argument('state', type=click.Choice(['on', 'off'])) -def config_dns_multitenant(state): +def config_serve_default_site(state): "Configure nginx to serve the default site on port 80" state = True if state == 'on' else False update_config({'serve_default_site': state}) +@click.command('rebase_on_pull') +@click.argument('state', type=click.Choice(['on', 'off'])) +def config_rebase_on_pull(state): + "Rebase repositories on pulling" + state = True if state == 'on' else False + update_config({'rebase_on_pull': state}) + config.add_command(config_auto_update) config.add_command(config_update_bench_on_update) config.add_command(config_restart_supervisor_on_update) config.add_command(config_dns_multitenant) +config.add_command(config_serve_default_site) #Bench commands diff --git a/bench/utils.py b/bench/utils.py index 4ec8932a..1d2501a4 100644 --- a/bench/utils.py +++ b/bench/utils.py @@ -12,6 +12,7 @@ default_config = { 'restart_supervisor_on_update': False, 'auto_update': True, 'serve_default_site': True, + 'rebase_on_pull': False, 'update_bench_on_update': True, 'shallow_clone': True }