Skip to content
Snippets Groups Projects
Commit e25ddca0 authored by Valeriy Sizov's avatar Valeriy Sizov
Browse files

Fix bug with branches whose name contains slash

parent 73d5e51a
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -56,22 +56,22 @@ module ExtractsPath
 
# Append a trailing slash if we only get a ref and no file path
id = input
id += '/' unless id.include?('/')
id += '/' unless id.ends_with?('/')
valid_refs = @project.branches + @project.tags
valid_refs.select! { |v| id.start_with?("#{v}/") }
valid_refs.select! { |v| id.start_with?("#{v.name}/") }
if valid_refs.length != 1
# No exact ref match, so just try our best
pair = id.match(/([^\/]+)(.*)/).captures
else
# Partition the string into the ref and the path, ignoring the empty first value
pair = id.partition(valid_refs.first)[1..-1]
pair = id.partition(valid_refs.first.name)[1..-1]
end
end
 
# Remove leading slash from path
pair[1].gsub!(/^\//, '')
# Remove ending slashes from path
pair[1].gsub!(/^\/|\/$/, '')
 
pair
end
Loading
Loading
Loading
Loading
@@ -7,8 +7,8 @@ describe ExtractsPath do
 
before do
@project = project
project.stub(:branches).and_return(['master', 'foo/bar/baz'])
project.stub(:tags).and_return(['v1.0.0', 'v2.0.0'])
project.stub(:branches).and_return([stub(name: 'master'), stub(name: 'foo/bar/baz')])
project.stub(:tags).and_return([stub(name: 'master'), stub(name: 'master')])
end
 
describe '#extract_ref' 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