Skip to content
Snippets Groups Projects
Commit 64a9e53b authored by Sean McGivern's avatar Sean McGivern
Browse files

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.
parent 371180a4
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -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
Loading
Loading
Loading
Loading
@@ -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
Loading
Loading
Loading
Loading
@@ -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
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment