summaryrefslogtreecommitdiff
path: root/tool/sync_default_gems.rb
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2022-10-12 11:38:44 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2022-10-12 12:27:40 +0900
commitc67e49688642b5a650f53765dd11c1202d1ea57f (patch)
treee389d067406a56d4c0eb0d1d4aff11df8a3b841a /tool/sync_default_gems.rb
parent04d291a490517eb32ea02df636fc8f1f1ed57873 (diff)
sync_default_gems: Should match with the beginning of the strings
`git status -z` result is NUL-separated, and can contain newline characters.
Diffstat (limited to 'tool/sync_default_gems.rb')
-rwxr-xr-xtool/sync_default_gems.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/tool/sync_default_gems.rb b/tool/sync_default_gems.rb
index 1e8c086dcf..530ec6e7b3 100755
--- a/tool/sync_default_gems.rb
+++ b/tool/sync_default_gems.rb
@@ -478,13 +478,13 @@ def sync_default_gems_with_commits(gem, ranges, edit: nil)
skipped = true
elsif /^CONFLICT/ =~ result
result = pipe_readlines(%W"git status --porcelain -z")
- result.map! {|line| line[/^.U (.*)/, 1]}
+ result.map! {|line| line[/\A.U (.*)/, 1]}
result.compact!
ignore, conflict = result.partition {|name| IGNORE_FILE_PATTERN =~ name}
unless ignore.empty?
system(*%W"git reset HEAD --", *ignore)
File.unlink(*ignore)
- ignore = pipe_readlines(%W"git status --porcelain -z" + ignore).map! {|line| line[/^.. (.*)/, 1]}
+ ignore = pipe_readlines(%W"git status --porcelain -z" + ignore).map! {|line| line[/\A.. (.*)/, 1]}
system(*%W"git checkout HEAD --", *ignore) unless ignore.empty?
end
unless conflict.empty?