Cannot proceed with update: You have local changes in app “frappe” that are not committed

Here is the error from my terminal when running bench update

From GitHub - frappe/bench: CLI to manage Multi-tenant deployments for Frappe apps
cb1e750…1441912 master → origin/master
Updating cb1e750…1441912
bench/ | 5 ±-
bench/commands/ | 7 ----
bench/commands/ | 5 +±
bench/config/ | 14 +++±—
bench/config/ | 17 +++++±—
bench/ | 116 ++++++++++++±---------------------------------------------------
6 files changed, 44 insertions(+), 120 deletions(-)
INFO:bench.utils:Bench Updated!

Cannot proceed with update: You have local changes in app “frappe” that are not committed.

Here are your choices:

  1. Merge the frappe app manually with “git pull” / “git pull --rebase” and fix conflicts.
  2. Temporarily remove your changes with “git stash” or discard them completely
    with “bench update --reset” or for individual repositries “git reset --hard”
  3. If your changes are helpful for others, send in a pull request via GitHub and
    wait for them to be merged in the core.

I’ve already tried bench update --reset but the problem persists. the --reset option at least allows be to be able to get past this.


I’ve also tried this

What can be done so that bench update operates correctly?

Here are my versions from help->about
ERPNext: v12.6.0 (version-12)
Frappe Framework: v12.4.1 (version-12)


Is this the first update since installation or is this an established instance that has updated successfully in the past?

New installation of v12 maybe a week ago. I applied a batch update successfully a few day ago when notified from the GUI that updates were available. It hasn’t worked again properly since that update - or at least I think that’s what introduced the issue.

Its complaining about changes in the frappe app. I might try backing up data, reinstalling Erpnext , updating, then restoring. If you have only been using ERPNext for a week and haven’t entered alot of data or customized, then simply reinstalling and updating before proceeding could take less time.

If you want to know why it happened to begin with you will have to delve into the Git environment to tease out the problem.