Skip to content
Snippets Groups Projects
Commit ba8048d7 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

v1.1.0

parent 6b030fd4
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -28,26 +28,34 @@ sqlite as default db
 
 
git clone git://github.com/gitlabhq/gitlabhq.git
cd gitlabhq/
 
# install this library first
sudo easy_install pygments
# give your user access to remove git repo
# Ex.
# If you are going to use user 'gitlabhq' for rails server
# gitlabhq ALL = (git) NOPASSWD: /bin/rm" | sudo tee -a /etc/sudoers
#
echo "USERNAME ALL = (git) NOPASSWD: /bin/rm" | sudo tee -a /etc/sudoers
 
sudo gem install bundler
bundle
 
RAILS_ENV=production rake db:setup
bundle exec rake db:setup RAILS_ENV=production
# create admin user
# login....admin@local.host
# pass.....5iveL!fe
RAILS_ENV=production rake db:seed_fu
bundle exec rake db:seed_fu RAILS_ENV=production
 
Install gitosis, edit conf/gitosis.yml & start server
 
rails s -e production
 
== Install Gitosis
sudo aptitude install gitosis
 
Loading
Loading
@@ -64,6 +72,7 @@ Install gitosis, edit conf/gitosis.yml & start server
ssh-keygen -t rsa
 
sudo -H -u git gitosis-init < ~/.ssh/id_rsa.pub
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
 
 
Loading
Loading
@@ -84,3 +93,8 @@ Install gitosis, edit conf/gitosis.yml & start server
 
 
echo "gem: --no-rdoc --no-ri" > ~/.gemrc
== Contribute
We develop project on our private server.
Want to help? Contact us on twitter or email to become a team member.
Loading
Loading
@@ -638,3 +638,12 @@ tbody tr:nth-child(2n) td, tbody tr.even td {
display:none;
}
}
.field_with_errors {
input[type="text"],
input[type="password"],
textarea
{
background: none repeat scroll 0 0 #FFBBBB
}
}
Loading
Loading
@@ -8,35 +8,16 @@ class TeamMembersController < ApplicationController
 
def show
@team_member = project.users_projects.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.js
end
end
 
def new
@team_member = project.users_projects.new
respond_to do |format|
format.html # new.html.erb
format.js
end
end
 
def create
@team_member = UsersProject.new(params[:team_member])
@team_member.project = project
respond_to do |format|
if @team_member.save
format.html { redirect_to @team_member, notice: 'Team member was successfully created.' }
format.js
else
format.html { render action: "new" }
format.js
end
end
@team_member.save
end
 
def update
Loading
Loading
@@ -45,7 +26,12 @@ class TeamMembersController < ApplicationController
 
respond_to do |format|
format.js
format.html { redirect_to team_project_path(@project)}
format.html do
unless @team_member.valid?
flash[:alert] = "User should have at least one role"
end
redirect_to team_project_path(@project)
end
end
end
 
Loading
Loading
Loading
Loading
@@ -35,7 +35,8 @@ class Project < ActiveRecord::Base
:presence => true
 
validate :check_limit
validate :repo_name
after_destroy :destroy_gitosis_project
after_save :update_gitosis_project
 
Loading
Loading
@@ -168,6 +169,12 @@ class Project < ActiveRecord::Base
errors[:base] << ("Cant check your ability to create project")
end
 
def repo_name
if path == "gitosis-admin"
errors.add(:path, " like 'gitosis-admin' is not allowed")
end
end
def valid_repo?
repo
rescue
Loading
Loading
Loading
Loading
@@ -9,7 +9,8 @@ class UsersProject < ActiveRecord::Base
validates_uniqueness_of :user_id, :scope => [:project_id]
validates_presence_of :user_id
validates_presence_of :project_id
validate :user_has_a_role_selected
delegate :name, :email, :to => :user, :prefix => true
 
def update_gitosis_project
Loading
Loading
@@ -18,6 +19,10 @@ class UsersProject < ActiveRecord::Base
end
end
 
def user_has_a_role_selected
errors.add(:base, "Please choose at least one Role in the Access list") unless read || write || admin
end
end
# == Schema Information
#
Loading
Loading
.file_stats
- @commit.diffs.each do |diff|
- if diff.deleted_file
%span.removed_file
%a{:href => "##{diff.a_path}"}
= diff.a_path
= image_tag "blueprint_delete.png"
- elsif diff.renamed_file
%span.moved_file
%a{:href => "##{diff.b_path}"}
= diff.a_path
= "->"
= diff.b_path
= image_tag "blueprint_notice.png"
- elsif diff.new_file
%span.new_file
%a{:href => "##{diff.b_path}"}
= diff.b_path
= image_tag "blueprint_add.png"
- else
%span.edit_file
%a{:href => "##{diff.b_path}"}
= diff.b_path
= image_tag "blueprint_info.png"
.file_stats= render "commits/diff_head"
- @commit.diffs.each do |diff|
- next if diff.diff.empty?
- file = (@commit.tree / diff.b_path)
Loading
Loading
@@ -31,24 +9,12 @@
- if diff.deleted_file
%strong{:id => "#{diff.b_path}"}= diff.a_path
- else
%strong{:id => "#{diff.b_path}"}= diff.b_path
= link_to tree_file_project_path(@project, @commit.id, diff.b_path) do
%strong{:id => "#{diff.b_path}"}= diff.b_path
%br/
.diff_file_content
- if file.text?
- lines_arr = diff.diff.lines.to_a
- line_old = lines_arr[2].match(/-(\d)/)[0].to_i.abs rescue 0
- line_new = lines_arr[2].match(/\+(\d)/)[0].to_i.abs rescue 0
- lines = lines_arr[3..-1].join
- lines.each_line do |line|
= diff_line(line, line_new, line_old)
- if line[0] == "+"
- line_new += 1
- elsif
- line[0] == "-"
- line_old += 1
- else
- line_new += 1
- line_old += 1
= render :partial => "commits/text_file", :locals => { :diff => diff }
- elsif file.image?
.diff_file_content_image
%img{:src => "data:#{file.mime_type};base64,#{Base64.encode64(file.data)}"}
Loading
Loading
- @commit.diffs.each do |diff|
- if diff.deleted_file
%span.removed_file
%a{:href => "##{diff.a_path}"}
= diff.a_path
= image_tag "blueprint_delete.png"
- elsif diff.renamed_file
%span.moved_file
%a{:href => "##{diff.b_path}"}
= diff.a_path
= "->"
= diff.b_path
= image_tag "blueprint_notice.png"
- elsif diff.new_file
%span.new_file
%a{:href => "##{diff.b_path}"}
= diff.b_path
= image_tag "blueprint_add.png"
- else
%span.edit_file
%a{:href => "##{diff.b_path}"}
= diff.b_path
= image_tag "blueprint_info.png"
- lines_arr = diff.diff.lines.to_a
- line_old = lines_arr[2].match(/-(\d)/)[0].to_i.abs rescue 0
- line_new = lines_arr[2].match(/\+(\d)/)[0].to_i.abs rescue 0
- lines = lines_arr[3..-1].join
- lines.each_line do |line|
= diff_line(line, line_new, line_old)
- if line[0] == "+"
- line_new += 1
- elsif
- line[0] == "-"
- line_old += 1
- else
- line_new += 1
- line_old += 1
# Admin account
admin = User.create(
:email => "admin@local.host",
:name => "Administrator",
Loading
Loading
@@ -9,3 +8,12 @@ admin = User.create(
admin.projects_limit = 10000
admin.admin = true
admin.save!
if admin.valid?
puts %q[
Administrator account created:
login.........admin@local.host
password......5iveL!fe
]
end
Loading
Loading
@@ -8,3 +8,12 @@ admin = User.create(
admin.projects_limit = 10000
admin.admin = true
admin.save!
if admin.valid?
puts %q[
Administrator account created:
login.........admin@local.host
password......5iveL!fe
]
end
root_path = File.expand_path(File.dirname(__FILE__))
require File.join(root_path, "lib", "color")
include Color
#
# ruby ./update.rb development # or test or production (default)
#
envs = ["production", "test", "development"]
env = if envs.include?(ARGV[0])
ARGV[0]
else
"production"
end
puts green " == Install for ENV=#{env} ..."
# bundle install
`bundle install`
# migrate db
`bundle exec rake db:create RAILS_ENV=#{env}`
`bundle exec rake db:schema:load RAILS_ENV=#{env}`
`bundle exec rake db:seed_fu RAILS_ENV=#{env}`
puts green %q[
Administrator account created:
login.........admin@local.host
password......5iveL!fe
]
puts green " == Done! Now you can start server"
Loading
Loading
@@ -42,7 +42,7 @@ class Gitosis
end
 
def destroy_project(project)
FileUtils.rm_rf(project.path_to_repo)
`sudo -u git rm -rf #{project.path_to_repo}`
conf = IniFile.new(File.join(@local_dir,'gitosis','gitosis.conf'))
 
Loading
Loading
Loading
Loading
@@ -4,11 +4,15 @@ describe Project do
describe "Associations" do
it { should have_many(:users) }
it { should have_many(:users_projects) }
it { should have_many(:issues) }
it { should have_many(:notes) }
it { should have_many(:snippets) }
end
 
describe "Validation" do
it { should validate_presence_of(:name) }
it { should validate_presence_of(:path) }
it { should validate_presence_of(:code) }
end
 
describe "Respond to" do
Loading
Loading
@@ -31,6 +35,11 @@ describe Project do
it { should respond_to(:commit) }
end
 
it "should not allow 'gitosis-admin' as repo name" do
should allow_value("blah").for(:path)
should_not allow_value("gitosis-admin").for(:path)
end
it "should return valid url to repo" do
project = Project.new(:path => "somewhere")
project.url_to_repo.should == "git@localhost:somewhere.git"
Loading
Loading
Loading
Loading
@@ -29,19 +29,37 @@ describe "TeamMembers" do
 
describe "fill in" do
before do
check "team_member_read"
click_link "Select user"
click_link @user_1.name
#select @user_1.name, :from => "team_member_user_id"
within "#team_member_new" do
check "team_member_read"
check "team_member_write"
end
end
 
it { expect { click_button "Save" }.to change {UsersProject.count}.by(1) }
it { expect { click_button "Save";sleep(1) }.to change {UsersProject.count}.by(1) }
 
it "should add new member to table" do
click_button "Save"
@member = UsersProject.last
 
page.should_not have_content("Add new member")
page.should have_content @user_1.name
@member.read.should be_true
@member.write.should be_true
@member.admin.should be_false
end
it "should not allow creation without access selected" do
within "#team_member_new" do
uncheck "team_member_read"
uncheck "team_member_write"
uncheck "team_member_admin"
end
expect { click_button "Save" }.to_not change {UsersProject.count}
page.should have_content("Please choose at least one Role in the Access list")
end
end
end
Loading
Loading
root_path = File.expand_path(File.dirname(__FILE__))
require File.join(root_path, "lib", "color")
include Color
def version
File.read("VERSION")
end
#
# ruby ./update.rb development # or test or production (default)
#
envs = ["production", "test", "development"]
env = if envs.include?(ARGV[0])
ARGV[0]
else
"production"
end
puts yellow "== RAILS ENV | #{env}"
current_version = version
puts yellow "Your version is #{current_version}"
puts yellow "Check for new version: $ git pull origin 1x"
`git pull origin 1x` # pull from origin
# latest version
if version == current_version
puts yellow "You have a latest version"
else
puts green "Update to #{version}"
`bundle install`
# migrate db
if env == "development"
`bundle exec rake db:migrate RAILS_ENV=development`
`bundle exec rake db:migrate RAILS_ENV=test`
else
`bundle exec rake db:migrate RAILS_ENV=#{env}`
end
puts green "== Done! Now you can start/restart server"
end
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