Skip to content
Snippets Groups Projects
Commit 9789726f authored by Martin Afanasjew's avatar Martin Afanasjew
Browse files

update: make stashing local changes more robust


Users with local changes and without a configured Git identity won't be
able to update Homebrew via `brew update`, as the update will fail when
trying to stash the local modifications with `git stash`. They will be
unable to proceed until they follow Git's advice to configure their
identity or they manage to revert their local changes.

This change always sets a commit e-mail and name, avoiding this issue. A
nice bonus is that experienced Git users can see who created the stash
commit (identifying `brew update` as the author).

Fixes Homebrew/homebrew#46930.

Closes Homebrew/homebrew#46939.

Signed-off-by: default avatarMartin Afanasjew <martin@afanasjew.de>
parent 18bf5a74
No related branches found
No related tags found
No related merge requests found
......@@ -225,7 +225,9 @@ class Updater
puts "Stashing uncommitted changes to #{repository}."
system "git", "status", "--short", "--untracked-files=all"
end
safe_system "git", "stash", "save", "--include-untracked", *@quiet_args
safe_system "git", "-c", "user.email=brew-update@localhost",
"-c", "user.name=brew update",
"stash", "save", "--include-untracked", *@quiet_args
safe_system "git", "reset", "--hard", *@quiet_args
@stashed = true
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment