mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
This change broke the some files like date.gemspec and lib/logger.rb.
Revert "sync_default_gems.rb: merge only files named as each gem"
This reverts commit 37b96d6773
.
This commit is contained in:
parent
fb04c69418
commit
7c0c1c3e46
1 changed files with 15 additions and 10 deletions
|
@ -353,6 +353,16 @@ def sync_default_gems(gem)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
IGNORE_FILE_PATTERN =
|
||||||
|
/\A(?:[A-Z]\w*\.(?:md|txt)
|
||||||
|
|[^\/]+\.yml
|
||||||
|
|\.git.*
|
||||||
|
|[A-Z]\w+file
|
||||||
|
|COPYING
|
||||||
|
)\z|
|
||||||
|
|rakelib\/
|
||||||
|
/x
|
||||||
|
|
||||||
def message_filter(repo, sha)
|
def message_filter(repo, sha)
|
||||||
log = STDIN.read
|
log = STDIN.read
|
||||||
print "[#{repo}] ", log.sub(/\s*(?=(?i:\nCo-authored-by:.*)*\Z)/) {
|
print "[#{repo}] ", log.sub(/\s*(?=(?i:\nCo-authored-by:.*)*\Z)/) {
|
||||||
|
@ -364,11 +374,6 @@ def sync_default_gems_with_commits(gem, ranges, edit: nil)
|
||||||
repo = REPOSITORIES[gem.to_sym]
|
repo = REPOSITORIES[gem.to_sym]
|
||||||
puts "Sync #{repo} with commit history."
|
puts "Sync #{repo} with commit history."
|
||||||
|
|
||||||
file_pattern = gem == repo ? gem : "{#{gem},#{repo}}"
|
|
||||||
file_pattern = "*/#{file_pattern}{,.*,/**/*}"
|
|
||||||
fnm_option = File::FNM_PATHNAME | File::FNM_DOTMATCH
|
|
||||||
file_match = proc {|file| File.fnmatch?(file_pattern, file, fnm_option)}
|
|
||||||
|
|
||||||
IO.popen(%W"git remote") do |f|
|
IO.popen(%W"git remote") do |f|
|
||||||
unless f.read.split.include?(gem)
|
unless f.read.split.include?(gem)
|
||||||
`git remote add #{gem} git@github.com:#{repo}.git`
|
`git remote add #{gem} git@github.com:#{repo}.git`
|
||||||
|
@ -394,9 +399,8 @@ def sync_default_gems_with_commits(gem, ranges, edit: nil)
|
||||||
|
|
||||||
# Ignore Merge commit and insufficiency commit for ruby core repository.
|
# Ignore Merge commit and insufficiency commit for ruby core repository.
|
||||||
commits.delete_if do |sha, subject|
|
commits.delete_if do |sha, subject|
|
||||||
next true if /^(?:Auto )?Merge/ =~ subject
|
files = IO.popen(%W"git diff-tree --no-commit-id --name-only -r #{sha}", &:readlines)
|
||||||
IO.popen(%W"git diff-tree --no-commit-id --name-only -r #{sha}", &:read)
|
subject =~ /^Merge/ || subject =~ /^Auto Merge/ || files.all?{|file| file =~ IGNORE_FILE_PATTERN}
|
||||||
.split("\n").none?(&file_match)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
if commits.empty?
|
if commits.empty?
|
||||||
|
@ -433,9 +437,10 @@ def sync_default_gems_with_commits(gem, ranges, edit: nil)
|
||||||
if result.empty?
|
if result.empty?
|
||||||
skipped = true
|
skipped = true
|
||||||
elsif /^CONFLICT/ =~ result
|
elsif /^CONFLICT/ =~ result
|
||||||
result = IO.popen(%W"git status --porcelain", &:readlines).map! {|line| line[/^.U (.*)/, 1]}
|
result = IO.popen(%W"git status --porcelain", &:readlines).each(&:chomp!)
|
||||||
|
result.map! {|line| line[/^.U (.*)/, 1]}
|
||||||
result.compact!
|
result.compact!
|
||||||
conflict, ignore = result.partition(&file_match)
|
ignore, conflict = result.partition {|name| IGNORE_FILE_PATTERN =~ name}
|
||||||
unless ignore.empty?
|
unless ignore.empty?
|
||||||
system(*%W"git reset HEAD --", *ignore)
|
system(*%W"git reset HEAD --", *ignore)
|
||||||
File.unlink(*ignore)
|
File.unlink(*ignore)
|
||||||
|
|
Loading…
Add table
Reference in a new issue