Merge pull request #1258 from jawshooah/perf/keg-batch-text-files
keg_relocate: run /usr/bin/file in batches
This commit is contained in:
commit
af78b64d5c
@ -72,13 +72,14 @@ class Keg
|
||||
# file with that fix is only available in macOS Sierra.
|
||||
# http://bugs.gw.com/view.php?id=292
|
||||
with_custom_locale("C") do
|
||||
path.find do |pn|
|
||||
next if pn.symlink? || pn.directory?
|
||||
next if Metafiles::EXTENSIONS.include? pn.extname
|
||||
if Utils.popen_read("/usr/bin/file", "--brief", pn).include?("text") ||
|
||||
pn.text_executable?
|
||||
text_files << pn
|
||||
end
|
||||
files = path.find.reject { |pn|
|
||||
pn.symlink? || pn.directory? || Metafiles::EXTENSIONS.include?(pn.extname)
|
||||
}
|
||||
output, _status = Open3.capture2("/usr/bin/xargs -0 /usr/bin/file --no-dereference --brief",
|
||||
stdin_data: files.join("\0"))
|
||||
output.each_line.with_index do |line, i|
|
||||
next unless line.include?("text")
|
||||
text_files << files[i]
|
||||
end
|
||||
end
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user