diff --git a/README.md b/README.md index 724ec338..e2cb1275 100755 --- a/README.md +++ b/README.md @@ -144,6 +144,7 @@ For production: --- + ## Bench Manger (GUI for Bench) Bench Manager is a graphical user interface to emulate the functionalities of Frappé Bench. Like the command line utility it helps you install apps, manage multiple sites, update apps and much more. @@ -155,9 +156,8 @@ $ bench setup manager ``` What all it does: - 1. Create new site bench-manager.local -2. Gets the bench_manager app from https://github.com/frappe/bench_manager if it doesn't exist already +2. Gets the `bench_manager` app from https://github.com/frappe/bench_manager if it doesn't exist already 3. Installs the bench_manager app on the site bench-manager.local ## Docker Install - For Developers (beta) diff --git a/bench/app.py b/bench/app.py index 8f156430..93bc359f 100755 --- a/bench/app.py +++ b/bench/app.py @@ -234,14 +234,19 @@ Here are your choices: wait for them to be merged in the core.'''.format(app)) sys.exit(1) + excluded_apps = get_excluded_apps() for app in get_apps(bench_path=bench_path): - excluded_apps = get_excluded_apps() if app in excluded_apps: print("Skipping pull for app {}".format(app)) continue app_dir = get_repo_dir(app, bench_path=bench_path) if os.path.exists(os.path.join(app_dir, '.git')): remote = get_remote(app) + if not remote: + # remote is False, i.e. remote doesn't exist, add the app to excluded_apps.txt + add_to_excluded_apps_txt(app, bench_path=bench_path) + print("Skipping pull for app {}, since remote doesn't exist, and adding it to excluded apps".format(app)) + continue logger.info('pulling {0}'.format(app)) if reset: exec_cmd("git fetch --all", cwd=app_dir) @@ -288,12 +293,13 @@ def get_remote(app, bench_path='.'): stderr=subprocess.STDOUT) contents = contents.decode('utf-8') if re.findall('upstream[\s]+', contents): - remote = 'upstream' + return 'upstream' + elif not contents: + # if contents is an empty string => remote doesn't exist + return False else: # get the first remote - remote = contents.splitlines()[0].split()[0] - - return remote + return contents.splitlines()[0].split()[0] def use_rq(bench_path): bench_path = os.path.abspath(bench_path)