Commit 1521f467 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 26c8b316
......@@ -179,4 +179,12 @@ def project_head_title
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 @@ Feature: Public Projects Feature
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,10 +50,15 @@ Feature: Public Projects Feature
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
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
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 @@ class Spinach::Features::PublicProjectsFeature < Spinach::FeatureSteps
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,12 +98,12 @@ class Spinach::Features::PublicProjectsFeature < Spinach::FeatureSteps
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
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