Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: "Error: no such option: --backup" #946

Merged
merged 2 commits into from Mar 4, 2020
Merged

Conversation

ccfiel
Copy link
Contributor

@ccfiel ccfiel commented Mar 4, 2020

https://discuss.erpnext.com/t/bench-update-fails-due-to-no-bench-backup-option/58697

What type of a PR is this?

  • Changes to Existing Features
  • New Feature Submissions
  • Bug Fix
  • Breaking Change (include change in API behaviours, etc.)

Please provide enough information so that others can review your pull request:


Explain the details for making this change. What existing problem does the pull request solve? The following checklist could help

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  • Have you lint your code locally prior to submission?
  • Have you successfully run tests with your changes locally?
  • Does your commit message have an explanation for your changes and why you'd like us to include them?
  • Docs have been added / updated
  • Tests for the changes have been added (for bug fixes / features)
  • Did you modify the existing test cases? If yes, why?

Screenshots/GIFs

@gavindsouza gavindsouza self-requested a review March 4, 2020 02:41
@gavindsouza gavindsouza changed the title fix issue: Error: no such option: --backup fix: "Error: no such option: --backup" Mar 4, 2020
@gavindsouza gavindsouza merged commit 76943e0 into frappe:master Mar 4, 2020
github-actions bot pushed a commit to Bloomstack/bench that referenced this pull request May 25, 2021
# 1.0.0 (2021-05-25)

### Bug Fixes

* "Error: no such option: --backup" ([frappe#946](https://github.com/Bloomstack/bench/issues/946)) ([76943e0](76943e0))
* Add bench.cli namespace ([2f0b508](2f0b508))
* Added warning for unshallow without --reset ([01abc56](01abc56))
* Allow bench src as root ([9d1f7a7](9d1f7a7))
* Bump Nodejs v8 => v12 ([de5e278](de5e278))
* change TEST_PYPI to PYPI ([4211f5d](4211f5d))
* Check if Py3.5+ before installing distro ([f032fc0](f032fc0))
* compatible configparser get ([312a92d](312a92d))
* create bench folder in user directory ([5c5d2b5](5c5d2b5))
* dns caching handle name not match ([9bdff52](9bdff52))
* Don't break update if no sites exist on patching sites stage ([778fe6c](778fe6c))
* fail2ban help message ([fec8921](fec8921))
* force renew on monthly bases ([7dcd5f9](7dcd5f9))
* Handle command execution failures ([dcdb15d](dcdb15d))
* Handle no args passed in CLI ([31e4aee](31e4aee))
* Install wheel during ansible setup ([61567be](61567be))
* Invoke pip via python ([b0ccb6e](b0ccb6e))
* Log in ~/bench.log if not running inside bench directory ([28302f6](28302f6))
* nginx proxy buffer ([7f9bed4](7f9bed4))
* only fetch current branch ([895c403](895c403))
* only fetch what is necessary, simplify & improve grepability ([82173c1](82173c1))
* only get the specific branch for version check ([0ff8ddd](0ff8ddd))
* Remove PY2 compatibility code ([54d48f6](54d48f6))
* Remove set-default-site from CLI ([ed3f2d2](ed3f2d2))
* Remove src test ([b8ed4f6](b8ed4f6))
* removed force renewal as it would extend by 3 months every month, now the job runs daily ([408676c](408676c))
* removed patch ([87edc4e](87edc4e))
* Return repo_name if app_name doesn't exist ([aa1a1b9](aa1a1b9))
* Revert print compatibility import ([753e36d](753e36d))
* Run compileall in bench after update ([54e6bcf](54e6bcf))
* run test builds for py2.7 and py3.7 ([3ea6634](3ea6634))
* serious bug capable of deleting apps path ([a1db48b](a1db48b))
* Show correct src of bench source ([fe2d927](fe2d927))
* Show step titles while running operations ([096c2cf](096c2cf))
* supervisor command does not require sudo ([c5cf916](c5cf916))
* Unpin setuptools, six and virtualenv ([03576d1](03576d1))
* Unshallow clone if update without --reset ([4cadf2c](4cadf2c))
* Update documentation for user directory ([294b399](294b399))
* update letsencrypt renew cron frequency ([7a7b0fe](7a7b0fe))
* Update package lists and setup prereqs before setting up script ([550f55d](550f55d))
* Updated command help and verbosity while setting crontab ([c9abac2](c9abac2))
* updated URL for MacOS guide ([frappe#1037](https://github.com/Bloomstack/bench/issues/1037)) ([d6a1222](d6a1222))
* Upgrade pip first ([frappe#1120](https://github.com/Bloomstack/bench/issues/1120)) ([17ef5da](17ef5da))
* use correct path for compiling py files ([b3a0757](b3a0757))
* wrong flag description ([e9c046d](e9c046d))
* **install:** Allow override of frappe_branch and erpnext_branch ([6a207ca](6a207ca))
* **install:** Helpful logging ([2c4659a](2c4659a))
* **install:** Install dev packages for Arm 64-bit ([df0562d](df0562d))
* **playbooks:** Support wkhtmltox arm64 architecture ([d6d1b91](d6d1b91))
* Use 'develop' bench if not specified! ([0ad4421](0ad4421))
* Use NullHandler for commands executed outside a bench dir ([31f2999](31f2999))
* use sys version info instead of user entry ([ff48ced](ff48ced))
* using distro instead of platform ([967d149](967d149))
* utf8mb4_general_ci ([f2e7702](f2e7702))
* **install:** Obey --without-site ([608b28c](608b28c))
* warning on pip reinstall ([d979751](d979751))
* **install:** SHow Debian 10 is supported, update MariaDB defaults ([fadf44d](fadf44d))
* **tests:** add --yes flag to production setup ([851b4c3](851b4c3))
* "faster" get_sites function ([8764813](8764813))
* add confirmation for supervisord conf update ([deb854b](deb854b))
* add declarative config support for bench ([186ba28](186ba28))
* add honcho and pin dependency ([02826d7](02826d7))
* add log filter to handler ([53919b6](53919b6))
* add logging and set user if not passed ([fc4b90a](fc4b90a))
* add playbooks in the python package ([78e1f03](78e1f03))
* add provision to install downloaded packages ([f3bcc42](f3bcc42))
* add section in conf if doesnt exist ([3e99fbc](3e99fbc))
* add x-frame-origin to prevent clickjacking ([ecdcbb9](ecdcbb9))
* added aliases for click commands to convert _ seperated commands to ([214a209](214a209))
* added python source code encoding ([9b6155d](9b6155d))
* added verbosity ([fb5e150](fb5e150))
* Allow skipping assets ([bdda041](bdda041))
* Allow skipping assets ([frappe#822](https://github.com/Bloomstack/bench/issues/822)) ([1c8115d](1c8115d))
* ansible install on versioned pip ([71af732](71af732))
* avoid circular imports and optimization ([9e7b8d1](9e7b8d1))
* Bench logo url ([92c1721](92c1721))
* bench path used for config ([6881c93](6881c93))
* bench update compatible  venv installed pkg ([cd711b0](cd711b0))
* bench_path during setup_env ([8c86ef5](8c86ef5))
* bench.utils.get_sites updated to  frappe.utils.get_sites ([a3dc9e6](a3dc9e6))
* better exception handling for checking sudoers set ([d51311b](d51311b))
* better warning and cache handling ([e39ae1e](e39ae1e))
* branch argument while running easy install ([94525d0](94525d0))
* Build assets only for downloaded app ([frappe#802](https://github.com/Bloomstack/bench/issues/802)) ([75b0901](75b0901))
* build assets regardless of postprocess ([a4a9b59](a4a9b59))
* bump MariaDB version ([a2ea3d9](a2ea3d9))
* bump up GitPython to 2.1.11 ([8d1e1f3](8d1e1f3))
* Change ownership of all log and config files ([b7f568a](b7f568a))
* check for updates after command execution and handle ([6ea7d75](6ea7d75))
* check if virtual env (using pip refs) ([63128a2](63128a2))
* checks for bench requirements to be installed without the --user ([3b06683](3b06683))
* checksum expression ([cf3c0b9](cf3c0b9))
* chown frappe_user home directory ([4474f46](4474f46))
* cleaner and intuitive bench logs ([0be833a](0be833a))
* compatibility fixes, better cpu utilization ([3b91d98](3b91d98))
* default caching of pip packages, use reload_supervisor function ([0afb89a](0afb89a))
* dir permissions ([d5003e1](d5003e1))
* dont abort script if not overwriting scripts ([frappe#919](https://github.com/Bloomstack/bench/issues/919)) ([ec1343c](ec1343c))
* dont drop permissions for setting up supervisor ([2fe5cce](2fe5cce))
* dont install bench dependencies in env ([ea106e8](ea106e8))
* dont run ayrn install while setting up py reqs ([dd04700](dd04700))
* dont show warning message in developer mode ([ce0a3de](ce0a3de))
* easy install script ([b4dcea8](b4dcea8))
* fix permissions for python3 bench init ([fce86fa](fce86fa))
* force checkout during switch_branch and quiet fetch ([9f467d8](9f467d8))
* force use PYPI packaged bench ([15b01e9](15b01e9))
* get_cmd_output handles exit codes if no output ([a032528](a032528))
* get-app sets up node requirements ([03e512f](03e512f))
* git depth, fixed requirements ([frappe#845](https://github.com/Bloomstack/bench/issues/845)) ([ce6b4c8](ce6b4c8))
* git stash requires user details pre git v2.21 ([a7a8790](a7a8790))
* handle app not found under GH frappe erpnext orgs ([b3842d9](b3842d9))
* help for bench install without sudo ([2d43612](2d43612))
* importing reload caused issues in python2 ([47a9aca](47a9aca))
* incorrect import statement ([699705f](699705f))
* incorrect import statement ([459432b](459432b))
* Initialize bench with Python 3 ([e24ca16](e24ca16))
* install app instead of requirements.txt ([d99780b](d99780b))
* install missing dirmngr for debian installs ([2b6260d](2b6260d))
* install node modules if package.json exists ([67fb0a4](67fb0a4))
* install pip via pacman, minor fixes ([f251fea](f251fea))
* install supervisor on user if doesnt exist ([395b8df](395b8df))
* invalid syntax for click option ([cac66a6](cac66a6))
* issue when ignore_exist is set and the path already exists 🐛 ([frappe#910](https://github.com/Bloomstack/bench/issues/910)) ([40f7e09](40f7e09)), closes [/github.com/frappe/bench/commit/7fb1484b7f5dae561a098ab2a01c7f209664f626#diff-237d6b07e1835fbd8e51e251f66b2ec0](https://github.com//github.com/frappe/bench/commit/7fb1484b7f5dae561a098ab2a01c7f209664f626/issues/diff-237d6b07e1835fbd8e51e251f66b2ec0)
* maintain worker and worker.error logfile in dev mode ([cac8375](cac8375))
* Message per app when installing node deps ([bdc20a5](bdc20a5))
* move bench.env to bench.config.env ([1f4994d](1f4994d))
* move update to utils ([2713a2e](2713a2e))
* no-backup option argument ([frappe#842](https://github.com/Bloomstack/bench/issues/842)) ([6dbf6b9](6dbf6b9))
* perm while executing create user ([f23698a](f23698a))
* pin dependencies of requirements ([c660593](c660593))
* pip pinned to 19.3.1 after v20 breaking ([7498c8e](7498c8e))
* populate bench.log via bench.utils.log ([2fd86c9](2fd86c9))
* proper semantic version bumping ([64a3a5c](64a3a5c))
* provision to pass container flag while setting up swap ([ee8a8fb](ee8a8fb))
* pull app list from sites/apps.txt ([c2165b4](c2165b4))
* PY2 compatible regex ([4ae8ae2](4ae8ae2))
* random failings from subprocesses and command formatting ([frappe#935](https://github.com/Bloomstack/bench/issues/935)) ([b064987](b064987))
* remove bench and supervisor from sudoers ([51b81c3](51b81c3))
* remove deprecated pre_upgrade usage ([016b7da](016b7da))
* Remove the infamous print style ([46b78f4](46b78f4))
* remove unnecessary - commands aliases ([e435500](e435500))
* requests package dependancy for centos ([9fe3a91](9fe3a91))
* run install script without sudo ([982b727](982b727))
* script to install pre-requisites ([e7f45e3](e7f45e3))
* separate out scripts ([b6dd496](b6dd496))
* seperate colors from log, change exception ([7fb1484](7fb1484))
* setup cron job for renewing ssl certificate ([frappe#918](https://github.com/Bloomstack/bench/issues/918)) ([92d2fbd](92d2fbd)), closes [/github.com/frappe/pull/918#issuecomment-589961301](https://github.com//github.com/frappe/bench/pull/918/issues/issuecomment-589961301)
* setup libssl dependancy by checking distribution ([7af5e67](7af5e67))
* setup nginx fails for broken site_config ([8b02bed](8b02bed))
* setup requirements --python skips assets ([d0ebf7f](d0ebf7f))
* single process to pip install requirements, quiet flag added ([1b0008d](1b0008d))
* switch branches "better" ([dc307b6](dc307b6))
* **easy_install:** log files saved with timestamp ([b80cecc](b80cecc))
* **easy_install:** overwrite config files ([aebd759](aebd759))
* **easy-install:** compatibility for easy install on PY2 ([frappe#937](https://github.com/Bloomstack/bench/issues/937)) ([495a038](495a038))
* **lets-encrypt:** run command non interactively if flag passed ([7ccc275](7ccc275))
* remove npm to fix ubuntu 18 install conflicts ([e9205b5](e9205b5))
* remove supervisord under service and systemctl in sudoers ([39f8223](39f8223))
* remove unused method and use six to reload module ([frappe#875](https://github.com/Bloomstack/bench/issues/875)) ([d2d5772](d2d5772))
* restart supervisor service after conf update ([48f70ac](48f70ac))
* restart supervisord process after change in conf ([ec1acec](ec1acec))
* return returncode in bench.utils.exec_cmd ([1928eaa](1928eaa))
* run backups every 6 hours, rather than every minute per 6 hours ([691687e](691687e))
* run fix_user_permissions only if production or sudoers is set up ([fe02844](fe02844))
* run patches for current user ([78dbdcb](78dbdcb))
* set translations download limit based on cpu cores ([7e7c396](7e7c396))
* show if service manager not found, also log it ([629842a](629842a))
* take backup before pulling the code and make site available after restarting the processes ([9242b92](9242b92))
* trailing slash deleting apps folder ([52ee67f](52ee67f))
* typo cash to crash ([6dd0118](6dd0118))
* typo fix ([22f3bc6](22f3bc6))
* update bench install methods ([a728416](a728416))
* update bench requirements for user ([489d3b2](489d3b2))
* update easy install location ([803fa2d](803fa2d))
* update packages even if pip not in path ([b9bb944](b9bb944))
* update pinned requirements ([025665a](025665a))
* update supervisord conf and reload, log everything ([c43da5b](c43da5b))
* updated manifest.in ([1ba8c46](1ba8c46))
* updated sequence of package updates ([c7381de](c7381de))
* use easy_install of develop + path update ([172a7c2](172a7c2))
* use remote_addr instead of user-defined header ip ([a6bb587](a6bb587))
* use six to check for string types ([frappe#874](https://github.com/Bloomstack/bench/issues/874)) ([75ffa03](75ffa03))
* validate branch error message + cleanup ([b856516](b856516))
* validate branch in bench update ([5762724](5762724))
* **ansible:** deprecated warnings for | expression ([498e777](498e777))
* **ansible:** deprecated warnings install loops ([fd7d59d](fd7d59d))
* **ansible:** python api deprecated warnings ([3dc8b48](3dc8b48))
* **cli:** give warn that commands are not executed in a bench folder ([ef1a624](ef1a624))
* **cron:** change cron command for renewing ssl ([17b4475](17b4475))
* **easy_install:** datetime formatting ([9cc6e2e](9cc6e2e))
* **fonts:** remove unused setup_fonts method ([frappe#878](https://github.com/Bloomstack/bench/issues/878)) ([0d4ace9](0d4ace9))
* **get-app:** handle existing directory and other formatting changes ([d1a3017](d1a3017))
* **nginx:** add redirect rules to avoid duplicate content ([7051aa3](7051aa3))
* **utils:** sort imports, add parenthesis on ambigupus expr ([c64a7e9](c64a7e9))
* version comparison ([6f3f8f6](6f3f8f6))
* **ansible:** Make everything verbose ([46566cd](46566cd))
* **backup:** make auto backup logs verbose ([f28c376](f28c376))
* **backups:** setup backups for bench sites ([90f951c](90f951c))
* **easy_install:** add support for Ubuntu 19.04 ([81330fd](81330fd))
* **easy_install:** add version argument for installing different versions ([0e91bf4](0e91bf4))
* **error:** Python 2 does not provide stderr on CalledProcessError ([frappe#762](https://github.com/Bloomstack/bench/issues/762)) ([d1810e1](d1810e1))
* **get-app:** allow ssh urls ([7402807](7402807))
* **pdf:** Use libssl1.0-dev instead of libssl-dev ([31fc3a0](31fc3a0))
* **playbooks:** pre v5.1 compatibility for playbooks folder ([08bc61a](08bc61a))
* **playbooks:** wkhtmltopdf checksum string for debian 9 ([frappe#969](https://github.com/Bloomstack/bench/issues/969)) ([a7c52b4](a7c52b4))
* **prerelease:** allow making prerelease for bench ([0290932](0290932))
* **readme:** add ubuntu 18.04 to easy install ([4f8114f](4f8114f))
* **release:** accomodate future branches ([5699204](5699204))
* **release:** don't fast-forward while merging ([c1bba94](c1bba94))
* **release:** handle release for multiple branches ([dd78011](dd78011))
* **release:** syntax error ([933d7a1](933d7a1))
* **security:** Force download html, svg and xml files ([893cb88](893cb88))
* **tests:** print traceback from errors ([6dc784f](6dc784f))
* **travis:** Make install script verbose ([f57635e](f57635e))
* **travis:** Use Ubuntu 16.04 ([1c8b4c0](1c8b4c0))
* syntax error ([d55d29b](d55d29b))
* syntax error ([21925fa](21925fa))
* ubuntu iso version and packer path ([064fb66](064fb66))
* update supervisord and sudoers for old benches ([e12208d](e12208d))
* update supervisord.conf while generating supervisor.conf ([1f0a5ce](1f0a5ce))
* use existing function ([656358c](656358c))
* use frappe_user from site_config and use getpass as fallback ([a6f72c7](a6f72c7))
* use reload only if imported ([4d02801](4d02801))
* validate branch before update ([d32d905](d32d905))
* **remove_app:** use app name instead of app path ([e4e054e](e4e054e))
* **travis:** urllib3 ([8aa7c2b](8aa7c2b))

### Features

* "bench update" from non-bench directory ([c93a25d](c93a25d))
* ability to rollback failed bench init ([f0c1893](f0c1893))
* added bench find command ([963b2f9](963b2f9))
* added bench.utils.log and updated is_bench_directory api ([e322815](e322815))
* added specific  checks for git URLs ([30473d3](30473d3))
* allow raise option in get_cmd_output ([6bb30e3](6bb30e3))
* auto-stash changes in bench (tool) on update ([186c0ea](186c0ea))
* bench apps commands caching ([c0afa04](c0afa04))
* bench pip * ([f0596c5](f0596c5))
* bench start --no-prefix ([frappe#1040](https://github.com/Bloomstack/bench/issues/1040)) ([547f2ba](547f2ba))
* better flag description ([9de383a](9de383a))
* check for newer versions on PyPI ([62f666c](62f666c))
* execute bench/frappe commands from anywhere inside a bench ([2257f86](2257f86))
* Keep repos shallow if --reset is specified and shallow_clone is set ([66240e1](66240e1))
* Option to provide path to Procfile ([5bedd2c](5bedd2c))
* Option to provide path to Procfile ([frappe#833](https://github.com/Bloomstack/bench/issues/833)) ([f7bec39](f7bec39))
* patch for older setups with wrong cron format ([1e97cdf](1e97cdf))
* patch for older setups with wrong cron format ([097879e](097879e))
* pitch erpnext support to VM users ([137a78a](137a78a))
* skip redis config during supervisor setup ([5cf1363](5cf1363))
* **bench update:** allow pull-only update on specified apps ([be36a14](be36a14))
* **CircleCI:** tests shall not fail! ✔️ ([68538fd](68538fd))
* **easy_install:** add support for debian 10 ([72c70b2](72c70b2)), closes [frappe#831](https://github.com/Bloomstack/bench/issues/831)
* **easy-install:** seperate logging and cleaner UI ([b3feaa2](b3feaa2))
* **error:** Show SyntaxError found in frappe ([frappe#759](https://github.com/Bloomstack/bench/issues/759)) ([1497f9b](1497f9b))
* **LXC:** container support for Frappe ([ea73913](ea73913))
* **playbooks:** wkthmltox for Ubuntu 20 ([frappe#1019](https://github.com/Bloomstack/bench/issues/1019)) ([3336cff](3336cff))
* **procfile:** dont add redis to procfile if skipping config gen ([4c173de](4c173de))
* update flags to readme ([7e89a23](7e89a23))
* **release:** option to prevent frontport ([479ab08](479ab08))
* **ubuntu 18:** Add support for Ubuntu 18.04 ([de94469](de94469))

### Performance Improvements

* Faster bench remove-app ([ebc3ceb](ebc3ceb))
* Faster Commands execution by commands caching ([bb677d1](bb677d1))
* Remove ast from the import tree ([104efd3](104efd3))
* Remove bench.config.common_site_config from the import tree ([c5d2fb9](c5d2fb9))
* Remove bench.config.letsencrypt from the import tree ([cab2d44](cab2d44))
* Remove bench.config.nginx from the import tree ([36e48c7](36e48c7))
* Remove crontab from the import tree ([e12717d](e12717d))
* Remove crontab from the import tree ([2a4377a](2a4377a))
* Remove git from the import tree ([df773d4](df773d4))
* Remove Jinja and PackageLoader from the import tree ([ad90d94](ad90d94))
* Remove multiprocessing from the import tree ([8527b10](8527b10))
* Remove multiprocessing from the import tree ([ad37665](ad37665))
* Remove requests from the import tree ([cc92584](cc92584))
* Remove semantic_version from the import tree ([2df0bf7](2df0bf7))
* Remove shutil from the import tree ([07ecaa1](07ecaa1))
* Remove six.moves.reload_module from the import tree ([5d90346](5d90346))
* Remove six.moves.urllib from the import tree ([6706b23](6706b23))
* Remove six.moves.urllib from the import tree ([5525548](5525548))
* Remove siz.moves.configparser from the import tree ([6c0e1a3](6c0e1a3))
* Remove unwanted check ([frappe#788](https://github.com/Bloomstack/bench/issues/788)) ([431e969](431e969))

### Reverts

* Revert "debug: check if there's an exception being raised silently" ([8173b00](8173b00))
* Revert "fix: force use PYPI packaged bench" ([cdd7d34](cdd7d34))
* Revert "fix(fonts): remove unused setup_fonts method" (frappe#881) ([fb13dfb](fb13dfb)), closes [frappe#881](https://github.com/Bloomstack/bench/issues/881)
* Revert "perf: Remove unwanted check (frappe#788)" (frappe#790) ([93264c6](93264c6)), closes [frappe#788](https://github.com/Bloomstack/bench/issues/788) [frappe#790](https://github.com/Bloomstack/bench/issues/790)
* Revert "fix: Change ownership of all log and config files (frappe#787)" ([c16c8e6](c16c8e6)), closes [frappe#787](https://github.com/Bloomstack/bench/issues/787)
* Revert "Add reference feature" ([c41e313](c41e313))
github-actions bot pushed a commit to brian-pond/bench that referenced this pull request Aug 16, 2021
# 1.0.0 (2021-08-16)

### Bug Fixes

* "Error: no such option: --backup" ([frappe#946](https://github.com/PMojito/bench/issues/946)) ([76943e0](76943e0))
* Add bench.cli namespace ([2f0b508](2f0b508))
* Added warning for unshallow without --reset ([01abc56](01abc56))
* Allow bench src as root ([9d1f7a7](9d1f7a7))
* Bump Nodejs v8 => v12 ([de5e278](de5e278))
* change TEST_PYPI to PYPI ([4211f5d](4211f5d))
* Check if Py3.5+ before installing distro ([f032fc0](f032fc0))
* compatible configparser get ([312a92d](312a92d))
* create bench folder in user directory ([5c5d2b5](5c5d2b5))
* dns caching handle name not match ([9bdff52](9bdff52))
* Don't break update if no sites exist on patching sites stage ([778fe6c](778fe6c))
* fail2ban help message ([fec8921](fec8921))
* force renew on monthly bases ([7dcd5f9](7dcd5f9))
* Handle command execution failures ([dcdb15d](dcdb15d))
* Handle no args passed in CLI ([31e4aee](31e4aee))
* Install wheel during ansible setup ([61567be](61567be))
* Invoke pip via python ([b0ccb6e](b0ccb6e))
* Log in ~/bench.log if not running inside bench directory ([28302f6](28302f6))
* nginx proxy buffer ([7f9bed4](7f9bed4))
* only fetch current branch ([895c403](895c403))
* only fetch what is necessary, simplify & improve grepability ([82173c1](82173c1))
* only get the specific branch for version check ([0ff8ddd](0ff8ddd))
* Remove PY2 compatibility code ([54d48f6](54d48f6))
* Remove set-default-site from CLI ([ed3f2d2](ed3f2d2))
* Remove src test ([b8ed4f6](b8ed4f6))
* removed force renewal as it would extend by 3 months every month, now the job runs daily ([408676c](408676c))
* removed patch ([87edc4e](87edc4e))
* Return repo_name if app_name doesn't exist ([aa1a1b9](aa1a1b9))
* Revert print compatibility import ([753e36d](753e36d))
* Run compileall in bench after update ([54e6bcf](54e6bcf))
* run test builds for py2.7 and py3.7 ([3ea6634](3ea6634))
* serious bug capable of deleting apps path ([a1db48b](a1db48b))
* Show correct src of bench source ([fe2d927](fe2d927))
* Show step titles while running operations ([096c2cf](096c2cf))
* ssl nginx directive deprecation ([a514a0e](a514a0e))
* supervisor command does not require sudo ([c5cf916](c5cf916))
* Unpin setuptools, six and virtualenv ([03576d1](03576d1))
* Unshallow clone if update without --reset ([4cadf2c](4cadf2c))
* Update documentation for user directory ([294b399](294b399))
* update letsencrypt renew cron frequency ([7a7b0fe](7a7b0fe))
* Update package lists and setup prereqs before setting up script ([550f55d](550f55d))
* Updated command help and verbosity while setting crontab ([c9abac2](c9abac2))
* updated URL for MacOS guide ([frappe#1037](https://github.com/PMojito/bench/issues/1037)) ([d6a1222](d6a1222))
* Upgrade pip first ([frappe#1120](https://github.com/PMojito/bench/issues/1120)) ([17ef5da](17ef5da))
* use correct path for compiling py files ([b3a0757](b3a0757))
* wrong flag description ([e9c046d](e9c046d))
* **install:** Allow override of frappe_branch and erpnext_branch ([6a207ca](6a207ca))
* **install:** Helpful logging ([2c4659a](2c4659a))
* **install:** Install dev packages for Arm 64-bit ([df0562d](df0562d))
* **playbooks:** Support wkhtmltox arm64 architecture ([d6d1b91](d6d1b91))
* Use 'develop' bench if not specified! ([0ad4421](0ad4421))
* Use NullHandler for commands executed outside a bench dir ([31f2999](31f2999))
* use sys version info instead of user entry ([ff48ced](ff48ced))
* using distro instead of platform ([967d149](967d149))
* utf8mb4_general_ci ([f2e7702](f2e7702))
* **install:** Obey --without-site ([608b28c](608b28c))
* warning on pip reinstall ([d979751](d979751))
* **install:** SHow Debian 10 is supported, update MariaDB defaults ([fadf44d](fadf44d))
* **tests:** add --yes flag to production setup ([851b4c3](851b4c3))
* "faster" get_sites function ([8764813](8764813))
* add confirmation for supervisord conf update ([deb854b](deb854b))
* add declarative config support for bench ([186ba28](186ba28))
* add honcho and pin dependency ([02826d7](02826d7))
* add log filter to handler ([53919b6](53919b6))
* add logging and set user if not passed ([fc4b90a](fc4b90a))
* add playbooks in the python package ([78e1f03](78e1f03))
* add provision to install downloaded packages ([f3bcc42](f3bcc42))
* add section in conf if doesnt exist ([3e99fbc](3e99fbc))
* add x-frame-origin to prevent clickjacking ([ecdcbb9](ecdcbb9))
* added aliases for click commands to convert _ seperated commands to ([214a209](214a209))
* added python source code encoding ([9b6155d](9b6155d))
* added verbosity ([fb5e150](fb5e150))
* Allow skipping assets ([bdda041](bdda041))
* Allow skipping assets ([frappe#822](https://github.com/PMojito/bench/issues/822)) ([1c8115d](1c8115d))
* ansible install on versioned pip ([71af732](71af732))
* avoid circular imports and optimization ([9e7b8d1](9e7b8d1))
* Bench logo url ([92c1721](92c1721))
* bench path used for config ([6881c93](6881c93))
* bench update compatible  venv installed pkg ([cd711b0](cd711b0))
* bench_path during setup_env ([8c86ef5](8c86ef5))
* bench.utils.get_sites updated to  frappe.utils.get_sites ([a3dc9e6](a3dc9e6))
* better exception handling for checking sudoers set ([d51311b](d51311b))
* better warning and cache handling ([e39ae1e](e39ae1e))
* branch argument while running easy install ([94525d0](94525d0))
* Build assets only for downloaded app ([frappe#802](https://github.com/PMojito/bench/issues/802)) ([75b0901](75b0901))
* build assets regardless of postprocess ([a4a9b59](a4a9b59))
* bump MariaDB version ([a2ea3d9](a2ea3d9))
* bump up GitPython to 2.1.11 ([8d1e1f3](8d1e1f3))
* Change ownership of all log and config files ([b7f568a](b7f568a))
* check for updates after command execution and handle ([6ea7d75](6ea7d75))
* check if virtual env (using pip refs) ([63128a2](63128a2))
* checks for bench requirements to be installed without the --user ([3b06683](3b06683))
* checksum expression ([cf3c0b9](cf3c0b9))
* chown frappe_user home directory ([4474f46](4474f46))
* cleaner and intuitive bench logs ([0be833a](0be833a))
* compatibility fixes, better cpu utilization ([3b91d98](3b91d98))
* default caching of pip packages, use reload_supervisor function ([0afb89a](0afb89a))
* dir permissions ([d5003e1](d5003e1))
* dont abort script if not overwriting scripts ([frappe#919](https://github.com/PMojito/bench/issues/919)) ([ec1343c](ec1343c))
* dont drop permissions for setting up supervisor ([2fe5cce](2fe5cce))
* dont install bench dependencies in env ([ea106e8](ea106e8))
* dont run ayrn install while setting up py reqs ([dd04700](dd04700))
* dont show warning message in developer mode ([ce0a3de](ce0a3de))
* easy install script ([b4dcea8](b4dcea8))
* fix permissions for python3 bench init ([fce86fa](fce86fa))
* force checkout during switch_branch and quiet fetch ([9f467d8](9f467d8))
* force use PYPI packaged bench ([15b01e9](15b01e9))
* get_cmd_output handles exit codes if no output ([a032528](a032528))
* get-app sets up node requirements ([03e512f](03e512f))
* git depth, fixed requirements ([frappe#845](https://github.com/PMojito/bench/issues/845)) ([ce6b4c8](ce6b4c8))
* git stash requires user details pre git v2.21 ([a7a8790](a7a8790))
* handle app not found under GH frappe erpnext orgs ([b3842d9](b3842d9))
* help for bench install without sudo ([2d43612](2d43612))
* importing reload caused issues in python2 ([47a9aca](47a9aca))
* incorrect import statement ([699705f](699705f))
* incorrect import statement ([459432b](459432b))
* Initialize bench with Python 3 ([e24ca16](e24ca16))
* install app instead of requirements.txt ([d99780b](d99780b))
* install missing dirmngr for debian installs ([2b6260d](2b6260d))
* install node modules if package.json exists ([67fb0a4](67fb0a4))
* install pip via pacman, minor fixes ([f251fea](f251fea))
* install supervisor on user if doesnt exist ([395b8df](395b8df))
* invalid syntax for click option ([cac66a6](cac66a6))
* issue when ignore_exist is set and the path already exists 🐛 ([frappe#910](https://github.com/PMojito/bench/issues/910)) ([40f7e09](40f7e09)), closes [/github.com/frappe/bench/commit/7fb1484b7f5dae561a098ab2a01c7f209664f626#diff-237d6b07e1835fbd8e51e251f66b2ec0](https://github.com//github.com/frappe/bench/commit/7fb1484b7f5dae561a098ab2a01c7f209664f626/issues/diff-237d6b07e1835fbd8e51e251f66b2ec0)
* maintain worker and worker.error logfile in dev mode ([cac8375](cac8375))
* Message per app when installing node deps ([bdc20a5](bdc20a5))
* move bench.env to bench.config.env ([1f4994d](1f4994d))
* move update to utils ([2713a2e](2713a2e))
* no-backup option argument ([frappe#842](https://github.com/PMojito/bench/issues/842)) ([6dbf6b9](6dbf6b9))
* perm while executing create user ([f23698a](f23698a))
* pin dependencies of requirements ([c660593](c660593))
* pip pinned to 19.3.1 after v20 breaking ([7498c8e](7498c8e))
* populate bench.log via bench.utils.log ([2fd86c9](2fd86c9))
* proper semantic version bumping ([64a3a5c](64a3a5c))
* provision to pass container flag while setting up swap ([ee8a8fb](ee8a8fb))
* pull app list from sites/apps.txt ([c2165b4](c2165b4))
* PY2 compatible regex ([4ae8ae2](4ae8ae2))
* random failings from subprocesses and command formatting ([frappe#935](https://github.com/PMojito/bench/issues/935)) ([b064987](b064987))
* remove bench and supervisor from sudoers ([51b81c3](51b81c3))
* remove deprecated pre_upgrade usage ([016b7da](016b7da))
* remove supervisord under service and systemctl in sudoers ([39f8223](39f8223))
* Remove the infamous print style ([46b78f4](46b78f4))
* remove unnecessary - commands aliases ([e435500](e435500))
* requests package dependancy for centos ([9fe3a91](9fe3a91))
* run install script without sudo ([982b727](982b727))
* script to install pre-requisites ([e7f45e3](e7f45e3))
* separate out scripts ([b6dd496](b6dd496))
* seperate colors from log, change exception ([7fb1484](7fb1484))
* setup cron job for renewing ssl certificate ([frappe#918](https://github.com/PMojito/bench/issues/918)) ([92d2fbd](92d2fbd)), closes [/github.com/frappe/pull/918#issuecomment-589961301](https://github.com//github.com/frappe/bench/pull/918/issues/issuecomment-589961301)
* setup libssl dependancy by checking distribution ([7af5e67](7af5e67))
* setup requirements --python skips assets ([d0ebf7f](d0ebf7f))
* single process to pip install requirements, quiet flag added ([1b0008d](1b0008d))
* switch branches "better" ([dc307b6](dc307b6))
* **easy_install:** log files saved with timestamp ([b80cecc](b80cecc))
* **easy_install:** overwrite config files ([aebd759](aebd759))
* **easy-install:** compatibility for easy install on PY2 ([frappe#937](https://github.com/PMojito/bench/issues/937)) ([495a038](495a038))
* **lets-encrypt:** run command non interactively if flag passed ([7ccc275](7ccc275))
* remove npm to fix ubuntu 18 install conflicts ([e9205b5](e9205b5))
* remove unused method and use six to reload module ([frappe#875](https://github.com/PMojito/bench/issues/875)) ([d2d5772](d2d5772))
* restart supervisor service after conf update ([48f70ac](48f70ac))
* restart supervisord process after change in conf ([ec1acec](ec1acec))
* return returncode in bench.utils.exec_cmd ([1928eaa](1928eaa))
* run backups every 6 hours, rather than every minute per 6 hours ([691687e](691687e))
* run fix_user_permissions only if production or sudoers is set up ([fe02844](fe02844))
* run patches for current user ([78dbdcb](78dbdcb))
* set translations download limit based on cpu cores ([7e7c396](7e7c396))
* show if service manager not found, also log it ([629842a](629842a))
* take backup before pulling the code and make site available after restarting the processes ([9242b92](9242b92))
* trailing slash deleting apps folder ([52ee67f](52ee67f))
* typo cash to crash ([6dd0118](6dd0118))
* typo fix ([22f3bc6](22f3bc6))
* update bench install methods ([a728416](a728416))
* update bench requirements for user ([489d3b2](489d3b2))
* update easy install location ([803fa2d](803fa2d))
* update packages even if pip not in path ([b9bb944](b9bb944))
* update pinned requirements ([025665a](025665a))
* update supervisord conf and reload, log everything ([c43da5b](c43da5b))
* updated manifest.in ([1ba8c46](1ba8c46))
* updated sequence of package updates ([c7381de](c7381de))
* use easy_install of develop + path update ([172a7c2](172a7c2))
* use remote_addr instead of user-defined header ip ([a6bb587](a6bb587))
* use six to check for string types ([frappe#874](https://github.com/PMojito/bench/issues/874)) ([75ffa03](75ffa03))
* validate branch error message + cleanup ([b856516](b856516))
* validate branch in bench update ([5762724](5762724))
* **ansible:** deprecated warnings for | expression ([498e777](498e777))
* **ansible:** deprecated warnings install loops ([fd7d59d](fd7d59d))
* **ansible:** python api deprecated warnings ([3dc8b48](3dc8b48))
* **cli:** give warn that commands are not executed in a bench folder ([ef1a624](ef1a624))
* **cron:** change cron command for renewing ssl ([17b4475](17b4475))
* **easy_install:** datetime formatting ([9cc6e2e](9cc6e2e))
* **fonts:** remove unused setup_fonts method ([frappe#878](https://github.com/PMojito/bench/issues/878)) ([0d4ace9](0d4ace9))
* **get-app:** handle existing directory and other formatting changes ([d1a3017](d1a3017))
* **nginx:** add redirect rules to avoid duplicate content ([7051aa3](7051aa3))
* **utils:** sort imports, add parenthesis on ambigupus expr ([c64a7e9](c64a7e9))
* version comparison ([6f3f8f6](6f3f8f6))
* **ansible:** Make everything verbose ([46566cd](46566cd))
* **backup:** make auto backup logs verbose ([f28c376](f28c376))
* **backups:** setup backups for bench sites ([90f951c](90f951c))
* **easy_install:** add support for Ubuntu 19.04 ([81330fd](81330fd))
* **easy_install:** add version argument for installing different versions ([0e91bf4](0e91bf4))
* **error:** Python 2 does not provide stderr on CalledProcessError ([frappe#762](https://github.com/PMojito/bench/issues/762)) ([d1810e1](d1810e1))
* **get-app:** allow ssh urls ([7402807](7402807))
* **pdf:** Use libssl1.0-dev instead of libssl-dev ([31fc3a0](31fc3a0))
* **playbooks:** pre v5.1 compatibility for playbooks folder ([08bc61a](08bc61a))
* **playbooks:** wkhtmltopdf checksum string for debian 9 ([frappe#969](https://github.com/PMojito/bench/issues/969)) ([a7c52b4](a7c52b4))
* **prerelease:** allow making prerelease for bench ([0290932](0290932))
* **readme:** add ubuntu 18.04 to easy install ([4f8114f](4f8114f))
* **release:** accomodate future branches ([5699204](5699204))
* **release:** don't fast-forward while merging ([c1bba94](c1bba94))
* **release:** handle release for multiple branches ([dd78011](dd78011))
* **release:** syntax error ([933d7a1](933d7a1))
* **security:** Force download html, svg and xml files ([893cb88](893cb88))
* **tests:** print traceback from errors ([6dc784f](6dc784f))
* **travis:** Make install script verbose ([f57635e](f57635e))
* **travis:** Use Ubuntu 16.04 ([1c8b4c0](1c8b4c0))
* setup nginx fails for broken site_config ([8b02bed](8b02bed))
* syntax error ([d55d29b](d55d29b))
* syntax error ([21925fa](21925fa))
* ubuntu iso version and packer path ([064fb66](064fb66))
* update supervisord and sudoers for old benches ([e12208d](e12208d))
* update supervisord.conf while generating supervisor.conf ([1f0a5ce](1f0a5ce))
* use existing function ([656358c](656358c))
* use frappe_user from site_config and use getpass as fallback ([a6f72c7](a6f72c7))
* use reload only if imported ([4d02801](4d02801))
* validate branch before update ([d32d905](d32d905))
* **remove_app:** use app name instead of app path ([e4e054e](e4e054e))
* **travis:** urllib3 ([8aa7c2b](8aa7c2b))

### Features

* "bench update" from non-bench directory ([c93a25d](c93a25d))
* ability to rollback failed bench init ([f0c1893](f0c1893))
* added bench find command ([963b2f9](963b2f9))
* added bench.utils.log and updated is_bench_directory api ([e322815](e322815))
* added specific  checks for git URLs ([30473d3](30473d3))
* allow raise option in get_cmd_output ([6bb30e3](6bb30e3))
* auto-stash changes in bench (tool) on update ([186c0ea](186c0ea))
* bench apps commands caching ([c0afa04](c0afa04))
* bench pip * ([f0596c5](f0596c5))
* bench start --no-prefix ([frappe#1040](https://github.com/PMojito/bench/issues/1040)) ([547f2ba](547f2ba))
* better flag description ([9de383a](9de383a))
* check for newer versions on PyPI ([62f666c](62f666c))
* execute bench/frappe commands from anywhere inside a bench ([2257f86](2257f86))
* Keep repos shallow if --reset is specified and shallow_clone is set ([66240e1](66240e1))
* Option to provide path to Procfile ([5bedd2c](5bedd2c))
* Option to provide path to Procfile ([frappe#833](https://github.com/PMojito/bench/issues/833)) ([f7bec39](f7bec39))
* patch for older setups with wrong cron format ([1e97cdf](1e97cdf))
* patch for older setups with wrong cron format ([097879e](097879e))
* pitch erpnext support to VM users ([137a78a](137a78a))
* Redis ACL config is added to conf templates ([46e6622](46e6622))
* skip redis config during supervisor setup ([5cf1363](5cf1363))
* **bench update:** allow pull-only update on specified apps ([be36a14](be36a14))
* **CircleCI:** tests shall not fail! ✔️ ([68538fd](68538fd))
* **easy_install:** add support for debian 10 ([72c70b2](72c70b2)), closes [frappe#831](https://github.com/PMojito/bench/issues/831)
* **easy-install:** seperate logging and cleaner UI ([b3feaa2](b3feaa2))
* **error:** Show SyntaxError found in frappe ([frappe#759](https://github.com/PMojito/bench/issues/759)) ([1497f9b](1497f9b))
* **LXC:** container support for Frappe ([ea73913](ea73913))
* **playbooks:** wkthmltox for Ubuntu 20 ([frappe#1019](https://github.com/PMojito/bench/issues/1019)) ([3336cff](3336cff))
* **procfile:** dont add redis to procfile if skipping config gen ([4c173de](4c173de))
* update flags to readme ([7e89a23](7e89a23))
* **release:** option to prevent frontport ([479ab08](479ab08))
* **ubuntu 18:** Add support for Ubuntu 18.04 ([de94469](de94469))

### Performance Improvements

* Faster bench remove-app ([ebc3ceb](ebc3ceb))
* Faster Commands execution by commands caching ([bb677d1](bb677d1))
* Remove ast from the import tree ([104efd3](104efd3))
* Remove bench.config.common_site_config from the import tree ([c5d2fb9](c5d2fb9))
* Remove bench.config.letsencrypt from the import tree ([cab2d44](cab2d44))
* Remove bench.config.nginx from the import tree ([36e48c7](36e48c7))
* Remove crontab from the import tree ([e12717d](e12717d))
* Remove crontab from the import tree ([2a4377a](2a4377a))
* Remove git from the import tree ([df773d4](df773d4))
* Remove Jinja and PackageLoader from the import tree ([ad90d94](ad90d94))
* Remove multiprocessing from the import tree ([8527b10](8527b10))
* Remove multiprocessing from the import tree ([ad37665](ad37665))
* Remove requests from the import tree ([cc92584](cc92584))
* Remove semantic_version from the import tree ([2df0bf7](2df0bf7))
* Remove shutil from the import tree ([07ecaa1](07ecaa1))
* Remove six.moves.reload_module from the import tree ([5d90346](5d90346))
* Remove six.moves.urllib from the import tree ([6706b23](6706b23))
* Remove six.moves.urllib from the import tree ([5525548](5525548))
* Remove siz.moves.configparser from the import tree ([6c0e1a3](6c0e1a3))
* Remove unwanted check ([frappe#788](https://github.com/PMojito/bench/issues/788)) ([431e969](431e969))

### Reverts

* Revert "debug: check if there's an exception being raised silently" ([8173b00](8173b00))
* Revert "fix: force use PYPI packaged bench" ([cdd7d34](cdd7d34))
* Revert "fix(fonts): remove unused setup_fonts method" (frappe#881) ([fb13dfb](fb13dfb)), closes [frappe#881](https://github.com/PMojito/bench/issues/881)
* Revert "perf: Remove unwanted check (frappe#788)" (frappe#790) ([93264c6](93264c6)), closes [frappe#788](https://github.com/PMojito/bench/issues/788) [frappe#790](https://github.com/PMojito/bench/issues/790)
* Revert "fix: Change ownership of all log and config files (frappe#787)" ([c16c8e6](c16c8e6)), closes [frappe#787](https://github.com/PMojito/bench/issues/787)
* Revert "Add reference feature" ([c41e313](c41e313))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants