This commit is contained in:
Administrator 2013-08-19 17:07:07 +08:00
parent 9dc4fcaa8e
commit 02239e8cd2
1 changed files with 21 additions and 18 deletions

View File

@ -93,24 +93,26 @@ class RepositoriesController < ApplicationController
@repository.project = @project
if request.post? && @repository.save
if(params[:repository_scm]=="Git")
@create_passwd = system "htpasswd -mb "+@root_path+" "+@repo_name+" "+@repository_tag
@create_group = system "echo -e '\n"+@repo_name+"-write:"+
system "htpasswd -mb "+@root_path+" "+@repo_name+" "+@repository_tag
logger.info "htpasswd -mb "+@root_path+" "+@repo_name+" "+@repository_tag+create_passwd
system "echo -e '\n"+@repo_name+"-write:"+
" "+@repo_name+"' >> "+@root_path+"group.passwd"
@create_repo_file = system "mkdir "+@root_path+"htdocs/"+User.current.login.to_s
@init_repository = system "git init --bare "+@project_path
system "mkdir "+@root_path+"htdocs/"+User.current.login.to_s
system "git init --bare "+@project_path
system "mv "+@project_path+"/hooks/post-update{.sample,}"
system "chmod a+x "+@project_path+"/hooks/post-update"
@add_privilege = system "echo -e 'Allow from all \n Order Deny,Allow \n "+
system "echo -e 'Allow from all \n Order Deny,Allow \n "+
"<Limit PUT POST DELETE PROPPATCH MKCOL COPY MOVE LOCK UNLOCK> \n"+
"Require group "+@repo_name+"-write \n "+
"</Limit> \n ' >> "+
@root_path+"htdocs/"+ @repository_name+"/.htaccess"
@init_server_info = system "cd "+@project_path+" ;git update-server-info"
if(@create_repo_file&&@create_passwd&&@create_group&&@init_repository&&@add_privilege&&@init_server_info)
logger.error "An error occured when authenticating "+"create passwd"+@creat_passwd+"create_group"+
@crate_group+"create repository file "+@create_repo_file+"init repository"+@init_repostory+
"aad privilege to rpository"+@add_privilege+"init server infos"+@init_server_info
end
system "cd "+@project_path+" ;git update-server-info"
# if(create_repo_file&&create_passwd&&create_group&&init_repository&&add_privilege&&init_server_info)
# else
# logger.info "An error occured when authenticating "+"create passwd"+@creat_passwd+"create_group"+
# crate_group+"create repository file "+create_repo_file+"init repository"+init_repostory+
# "aad privilege to rpository"+add_privilege+"init server infos"+init_server_info
# end
@repository.update_attributes(:login => User.current.login.to_s)
end
redirect_to settings_project_path(@project, :tab => 'repositories')
@ -174,13 +176,14 @@ class RepositoriesController < ApplicationController
@repository.destroy if request.delete?
redirect_to settings_project_path(@project, :tab => 'repositories')
if(@repository.type=="Repository::Git")
@ed_user=system "sed -i /"+@repo_name+"/{d} "+@root_path+"user.passwd"
@sed_group=system "sed -i /"+@middle+"/{d} "+@root_path+"group.passwd"
@remove=system "rm -r "+@root_path+"htdocs/"+@repository_name
if(@sed_user&&@sed_group&&@remove)
logger.error "An error occured when destory the repository"+"delete form passwd: \n"+
@sed_user+"delete from group"+@sed_group+"delete from file"+@remove
end
system "sed -i /"+@repo_name+"/{d} "+@root_path+"user.passwd"
system "sed -i /"+@middle+"/{d} "+@root_path+"group.passwd"
system "rm -r "+@root_path+"htdocs/"+@repository_name
# if(@sed_user&&@sed_group&&@remove)
# else
# logger.info "An error occured when destory the repository"+"delete form passwd: \n"+
# @sed_user+"delete from group"+@sed_group+"delete from file"+@remove
# end
end
end