diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2022-10-12 11:38:44 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2022-10-12 12:27:40 +0900 |
commit | c67e49688642b5a650f53765dd11c1202d1ea57f (patch) | |
tree | e389d067406a56d4c0eb0d1d4aff11df8a3b841a /tool/sync_default_gems.rb | |
parent | 04d291a490517eb32ea02df636fc8f1f1ed57873 (diff) | |
download | ruby-c67e49688642b5a650f53765dd11c1202d1ea57f.tar.gz |
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-x | tool/sync_default_gems.rb | 4 |
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? |