Patch #1058 ยป svn.x3n.patch
redmine-0.6.3-patched/app/apis/sys_api.rb 2008-04-14 11:45:11.000000000 +0200 | ||
---|---|---|
22 | 22 |
api_method :repository_created, |
23 | 23 |
:expects => [:string, :string], |
24 | 24 |
:returns => [:int] |
25 |
api_method :requires_repository, |
|
26 |
:expects => [:string], |
|
27 |
:returns => [:int] |
|
25 | 28 |
end |
redmine-0.6.3-patched/app/controllers/sys_controller.rb 2008-04-14 11:47:36.000000000 +0200 | ||
---|---|---|
27 | 27 |
Project.find(:all, :include => :repository) |
28 | 28 |
end |
29 | 29 |
|
30 |
def requires_repository(identifier) |
|
31 |
project = Project.find_by_identifier(identifier) |
|
32 |
# Do not create the repository if the project has already one |
|
33 |
return 0 unless project && project.repository.nil? |
|
34 |
return 0 unless project.module_enabled?("repository") |
|
35 |
return 1 |
|
36 |
end |
|
37 |
|
|
30 | 38 |
# Registers a repository for the given project identifier |
31 | 39 |
# (Subversion specific) |
32 | 40 |
def repository_created(identifier, url) |
redmine-0.6.3-patched/extra/svn/reposman.rb 2008-04-14 11:44:53.000000000 +0200 | ||
---|---|---|
82 | 82 |
$svn_url = false |
83 | 83 |
$test = false |
84 | 84 |
|
85 |
$autodir = ["trunk", "tags", "branches"] |
|
86 |
|
|
85 | 87 |
def log(text,level=0, exit=false) |
86 | 88 |
return if $quiet or level > $verbose |
87 | 89 |
puts text |
... | ... | |
167 | 169 |
|
168 | 170 |
projects.each do |project| |
169 | 171 |
log("treating project #{project.name}", 1) |
172 |
next if soap.RequiresRepository(project.identifier)==0 |
|
170 | 173 |
|
171 | 174 |
if project.identifier.empty? |
172 | 175 |
log("\tno identifier for project #{project.name}") |
... | ... | |
212 | 215 |
begin |
213 | 216 |
set_owner_and_rights(project, repos_path) do |
214 | 217 |
raise "svnadmin create #{repos_path} failed" unless system("svnadmin", "create", repos_path) |
218 |
$autodir.each do |dir| |
|
219 |
raise "svn mkdir #{$svn_url}#{project.identifier}/#{dir} failed" unless system("svn", "mkdir", $svn_url+project.identifier+"/"+dir, "-m \"Autocreate #{dir}\"") |
|
220 |
log("\tautocreating directory for repository #{repos_path}: #{dir}"); |
|
221 |
end |
|
215 | 222 |
end |
216 | 223 |
rescue => e |
217 | 224 |
log("\tunable to create #{repos_path} : #{e}\n") |