Fix conflict highlighting
Conflicts used to take a `Repository` and pass that to `Gitlab::Highlight.highlight`, which would call `#gitattribute` on the repository. Now they use a `Gitlab::Git::Repository`, which didn't have that method defined - but defining it on `Gitlab::Git::Repository` does make it available on `Repository` through `method_missing`, so we can do that and both cases will work.
This commit is contained in:
parent
371180a47d
commit
64a9e53bd1
3 changed files with 11 additions and 4 deletions
|
@ -994,10 +994,6 @@ class Repository
|
|||
raw_repository.ls_files(actual_ref)
|
||||
end
|
||||
|
||||
def gitattribute(path, name)
|
||||
raw_repository.attributes(path)[name]
|
||||
end
|
||||
|
||||
def copy_gitattributes(ref)
|
||||
actual_ref = ref || root_ref
|
||||
begin
|
||||
|
|
|
@ -984,6 +984,10 @@ module Gitlab
|
|||
@attributes.attributes(path)
|
||||
end
|
||||
|
||||
def gitattribute(path, name)
|
||||
attributes(path)[name]
|
||||
end
|
||||
|
||||
def languages(ref = nil)
|
||||
Gitlab::GitalyClient.migrate(:commit_languages) do |is_enabled|
|
||||
if is_enabled
|
||||
|
|
|
@ -84,6 +84,13 @@ describe Gitlab::Conflict::File do
|
|||
expect(line.text).to eq(html_to_text(line.rich_text))
|
||||
end
|
||||
end
|
||||
|
||||
# This spec will break if Rouge's highlighting changes, but we need to
|
||||
# ensure that the lines are actually highlighted.
|
||||
it 'highlights the lines correctly' do
|
||||
expect(conflict_file.lines.first.rich_text)
|
||||
.to eq("<span id=\"LC1\" class=\"line\" lang=\"ruby\"><span class=\"k\">module</span> <span class=\"nn\">Gitlab</span></span>\n")
|
||||
end
|
||||
end
|
||||
|
||||
describe '#sections' do
|
||||
|
|
Loading…
Reference in a new issue