From ed7693cecf677a5e55a450be2065168e4ebefdb7 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Sat, 16 Nov 2013 20:39:12 +0000 Subject: [PATCH] brew-pull: run `git am --abort` on failure. --- Library/Contributions/cmd/brew-pull.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Library/Contributions/cmd/brew-pull.rb b/Library/Contributions/cmd/brew-pull.rb index 0bdcac79ac..ee20e77203 100755 --- a/Library/Contributions/cmd/brew-pull.rb +++ b/Library/Contributions/cmd/brew-pull.rb @@ -48,7 +48,7 @@ ARGV.named.each do|arg| revision = `git rev-parse --short HEAD`.strip ohai 'Applying patch' - patch_args = ['am'] + patch_args = [] patch_args << '--signoff' unless ARGV.include? '--clean' # Normally we don't want whitespace errors, but squashing them can break # patches so an option is provided to skip this step. @@ -59,7 +59,12 @@ ARGV.named.each do|arg| end patch_args << patchpath - safe_system 'git', *patch_args + begin + safe_system 'git', 'am', *patch_args + rescue => e + system 'git', 'am', '--abort' + odie 'Patch failed to apply: aborted.' + end issue = arg.to_i > 0 ? arg.to_i : url_match[4] if issue and not ARGV.include? '--clean'