Revision 442:753f1380d6bc extra/soundsoftware
| extra/soundsoftware/reposman-soundsoftware.rb | ||
|---|---|---|
| 7 | 7 |
# == Usage |
| 8 | 8 |
# |
| 9 | 9 |
# reposman [OPTIONS...] -s [DIR] -r [HOST] |
| 10 |
#
|
|
| 10 |
# |
|
| 11 | 11 |
# Examples: |
| 12 | 12 |
# reposman --svn-dir=/var/svn --redmine-host=redmine.example.net --scm subversion |
| 13 | 13 |
# reposman -s /var/git -r redmine.example.net -u http://svn.example.net --scm git |
| ... | ... | |
| 57 | 57 |
# -q, --quiet no log |
| 58 | 58 |
# |
| 59 | 59 |
# == References |
| 60 |
#
|
|
| 60 |
# |
|
| 61 | 61 |
# You can find more information on the redmine's wiki : http://www.redmine.org/wiki/redmine/HowTos |
| 62 | 62 |
|
| 63 | 63 |
|
| ... | ... | |
| 210 | 210 |
log("retrieved #{projects.size} projects", :level => 1)
|
| 211 | 211 |
|
| 212 | 212 |
def set_owner_and_rights(project, repos_path, &block) |
| 213 |
if RUBY_PLATFORM =~ /mswin/
|
|
| 213 |
if mswin?
|
|
| 214 | 214 |
yield if block_given? |
| 215 | 215 |
else |
| 216 | 216 |
uid, gid = Etc.getpwnam($svn_owner).uid, ($use_groupid ? Etc.getgrnam(project.identifier).gid : Etc.getgrnam($svn_group).gid) |
| ... | ... | |
| 230 | 230 |
def owner_name(file) |
| 231 | 231 |
mswin? ? |
| 232 | 232 |
$svn_owner : |
| 233 |
Etc.getpwuid( File.stat(file).uid ).name
|
|
| 233 |
Etc.getpwuid( File.stat(file).uid ).name |
|
| 234 | 234 |
end |
| 235 |
|
|
| 235 |
|
|
| 236 | 236 |
def mswin? |
| 237 | 237 |
(RUBY_PLATFORM =~ /(:?mswin|mingw)/) || (RUBY_PLATFORM == 'java' && (ENV['OS'] || ENV['os']) =~ /windows/i) |
| 238 | 238 |
end |
| ... | ... | |
| 251 | 251 |
repos_path = File.join($repos_base, project.identifier).gsub(File::SEPARATOR, File::ALT_SEPARATOR || File::SEPARATOR) |
| 252 | 252 |
|
| 253 | 253 |
create_repos = false |
| 254 |
|
|
| 255 | 254 |
# Logic required for SoundSoftware.ac.uk repositories: |
| 256 | 255 |
# |
| 257 | 256 |
# * If the project has a repository path declared already, |
| ... | ... | |
| 342 | 341 |
rescue => e |
| 343 | 342 |
log("\trepository #{repos_path} not registered in Redmine: #{e.message}");
|
| 344 | 343 |
end |
| 345 |
|
|
| 346 | 344 |
log("\trepository #{repos_path} created");
|
| 347 | 345 |
end |
| 346 |
end |
|
| 348 | 347 |
|
| 349 |
end |
|
| 350 |
|
|
Also available in: Unified diff