Commit 2bc1873e authored by Jason Hollingsworth's avatar Jason Hollingsworth
Browse files

Update default public pull url.

This updates the default pull URL for public projects when the user
is not logged in.
parent 8224903aafd7
......@@ -179,4 +179,12 @@
title
end
def default_url_to_repo
current_user ? @project.url_to_repo : @project.http_url_to_repo
end
def default_clone_protocol
current_user ? "ssh" : "http"
end
end
......@@ -29,7 +29,7 @@
touch README
git add README
git commit -m 'first commit'
%span.clone= "git remote add origin #{@project.url_to_repo}"
%span.clone= "git remote add origin #{default_url_to_repo}"
:preserve
git push -u origin master
......@@ -38,7 +38,7 @@
%pre.dark
:preserve
cd existing_git_repo
%span.clone= "git remote add origin #{@project.url_to_repo}"
%span.clone= "git remote add origin #{default_url_to_repo}"
:preserve
git push -u origin master
......
.git-clone-holder
%button{class: "btn #{ current_user ? 'active' : '' }", :"data-clone" => @project.ssh_url_to_repo} SSH
%button{class: "btn #{ current_user ? '' : 'active' }", :"data-clone" => @project.http_url_to_repo}= gitlab_config.protocol.upcase
= text_field_tag :project_clone, (current_user ? @project.url_to_repo : @project.http_url_to_repo), class: "one_click_select span5", readonly: true
%button{class: "btn #{ 'active' if default_clone_protocol == 'ssh' }", :"data-clone" => @project.ssh_url_to_repo} SSH
%button{class: "btn #{ 'active' if default_clone_protocol == 'http' }", :"data-clone" => @project.http_url_to_repo}= gitlab_config.protocol.upcase
= text_field_tag :project_clone, default_url_to_repo, class: "one_click_select span5", readonly: true
......@@ -26,6 +26,14 @@
Given public empty project "Empty Public Project"
When I visit empty project page
Then I should see empty public project details
And I should see empty public project details with http clone info
Scenario: I visit an empty public project page as user
Given I sign in as a user
And public empty project "Empty Public Project"
When I visit empty project page
Then I should see empty public project details
And I should see empty public project details with ssh clone info
Scenario: I visit public area as user
Given I sign in as a user
......@@ -42,5 +50,5 @@
Scenario: I visit public project page
When I visit project "Community" page
Then I should see project "Community" home page
And I should see a http link to the repository
And I should see an http link to the repository
......@@ -46,5 +54,5 @@
Scenario: I visit public area as user
Scenario: I visit public project page as user
Given I sign in as a user
When I visit project "Community" page
Then I should see project "Community" home page
......@@ -48,4 +56,9 @@
Given I sign in as a user
When I visit project "Community" page
Then I should see project "Community" home page
And I should see a ssh link to the repository
And I should see an ssh link to the repository
Scenario: I visit an empty public project page
Given public empty project "Empty Public Project"
When I visit empty project page
Then I should see empty public project details
......@@ -46,6 +46,20 @@
page.should have_content 'Git global setup'
end
step 'I should see empty public project details with http clone info' do
project = Project.find_by_name('Empty Public Project')
page.all(:css, '.git-empty .clone').each do |element|
element.text.should include(project.http_url_to_repo)
end
end
step 'I should see empty public project details with ssh clone info' do
project = Project.find_by_name('Empty Public Project')
page.all(:css, '.git-empty .clone').each do |element|
element.text.should include(project.url_to_repo)
end
end
step 'private project "Enterprise"' do
create :project, name: 'Enterprise'
end
......@@ -84,8 +98,8 @@
end
end
Then 'I should see a http link to the repository' do
step 'I should see an http link to the repository' do
project = Project.find_by_name 'Community'
page.should have_field('project_clone', with: project.http_url_to_repo)
end
......@@ -88,8 +102,8 @@
project = Project.find_by_name 'Community'
page.should have_field('project_clone', with: project.http_url_to_repo)
end
Then 'I should see a ssh link to the repository' do
step 'I should see an ssh link to the repository' do
project = Project.find_by_name 'Community'
page.should have_field('project_clone', with: project.url_to_repo)
end
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment