|
|
|
@ -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
|
|
|
|
|
|
|
|
|
|