in lib/rugged_adapter/git_layer_rugged.rb [635:657]
def files_sorted_by_created_at(sha = nil)
sha ||= @repo.head.target.oid
file_renamings = {}
sorting = Rugged::SORT_DATE | Rugged::SORT_TOPO
@repo.walk(sha, sorting).with_object([]) do |commit, files|
parent = commit.parents.first
diff = commit.diff(parent, reverse: true)
diff.find_similar!
diff.each_delta do |delta|
name = delta.new_file[:path]
if delta.added?
files << (file_renamings[name] || name)
elsif delta.renamed?
file_renamings[delta.old_file[:path]] = file_renamings[name] || name
end
end
end
end