From 3cd3a507e336a81c7e00313b9effb80a8e596a6e Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Mon, 20 Apr 2020 21:23:26 +0900 Subject: [sync_default_gems.rb] Force reset conflict files to be ignored [ci skip] --- tool/sync_default_gems.rb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'tool') diff --git a/tool/sync_default_gems.rb b/tool/sync_default_gems.rb index d034e723a4..4451a4ed48 100644 --- a/tool/sync_default_gems.rb +++ b/tool/sync_default_gems.rb @@ -374,11 +374,14 @@ def sync_default_gems_with_commits(gem, range) if result.empty? skipped = true - elsif result.start_with?("CONFLICT") + elsif /^CONFLICT/ =~ result result = IO.popen(%W"git status --porcelain", &:readlines).each(&:chomp!) - ignore = result.map {|line| /^DU / =~ line and IGNORE_FILE_PATTERN =~ (name = $') and name} + ignore = result.map {|line| /^.U / =~ line and IGNORE_FILE_PATTERN =~ (name = $') and name} ignore.compact! - system(*%W"git reset", *ignore) unless ignore.empty? + unless ignore.empty? + system(*%W"git reset HEAD --", *ignore) + system(*%W"git checkout HEAD --", *ignore) + end skipped = !system({"GIT_EDITOR"=>"true"}, *%W"git cherry-pick --no-edit --continue") end -- cgit v1.2.3