class Diff::LCS::Hunk

def old_diff(_last = false)

there's only one block in the hunk.
Note that an old diff can't have any context. Therefore, we know that
def old_diff(_last = false)
  warn 'Expecting only one block in an old diff hunk!' if @blocks.size > 1
  block = @blocks[0]
  # Calculate item number range. Old diff range is just like a context
  # diff range, except the ranges are on one line with the action between
  # them.
  s = encode("#{context_range(:old, ',')}#{OLD_DIFF_OP_ACTION[block.op]}#{context_range(:new, ',')}\n")
  # If removing anything, just print out all the remove lines in the hunk
  # which is just all the remove lines in the block.
  unless block.remove.empty?
    @data_old[@start_old..@end_old].each { |e| s << encode('< ') + e.chomp + encode("\n") }
  end
  s << encode("---\n") if block.op == '!'
  unless block.insert.empty?
    @data_new[@start_new..@end_new].each { |e| s << encode('> ') + e.chomp + encode("\n") }
  end
  s
end