BigW Consortium Gitlab

Commit dddfa28e by Shinya Maeda

Refer reverse_line from read_last_lines

parent 318b4640
...@@ -91,29 +91,14 @@ module Gitlab ...@@ -91,29 +91,14 @@ module Gitlab
private private
def read_last_lines(last_lines) def read_last_lines(limit)
chunks = [] result = ''
pos = lines = 0 reverse_line do |line|
max = stream.size result = line + result
limit -= 1
# We want an extra line to make sure fist line has full contents return result if limit <= 0
while lines <= last_lines && pos < max
pos += BUFFER_SIZE
buf =
if pos <= max
stream.seek(-pos, IO::SEEK_END)
stream.read(BUFFER_SIZE)
else # Reached the head, read only left
stream.seek(0)
stream.read(BUFFER_SIZE - (pos - max))
end
lines += buf.count("\n")
chunks.unshift(buf)
end end
result
chunks.join.lines.last(last_lines).join
end end
def reverse_line def reverse_line
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment