Añade plugin Redmine Git Hosting 4.0.2

This commit is contained in:
Manuel Cillero 2020-12-05 13:57:05 +01:00
parent 472cb1ea76
commit bdd66d941f
494 changed files with 36768 additions and 0 deletions

View file

@ -0,0 +1,98 @@
namespace :redmine_git_hosting do
desc 'Update plugin settings in database (This will read settings from `<redmine_root>/redmine_git_hosting.yml` and `<plugin_root>/settings.yml`)'
task update_settings: [:environment] do
RedmineGitHosting::ConsoleLogger.title('Reloading settings from command line') do
RedmineGitHosting::Config.reload_from_file!
end
end
desc 'Dump plugin settings in console'
task dump_settings: [:environment] do
RedmineGitHosting::Config.dump_settings
end
desc 'Purge expired repositories from Recycle Bin'
task purge_recycle_bin: [:environment] do
RedmineGitHosting::ConsoleLogger.title('Purging Recycle Bin from command line') do
RedmineGitHosting::GitoliteAccessor.purge_recycle_bin
end
end
desc 'Update/repair Gitolite configuration'
task update_repositories: [:environment] do
RedmineGitHosting::ConsoleLogger.title('Performing manual update_repositories operation from command line') do
RedmineGitHosting::GitoliteAccessor.update_projects('all', { message: "Resync all projects (#{Project.all.length})..." })
end
end
desc 'Fetch commits from gitolite repositories/update gitolite configuration'
task fetch_changesets: [:environment] do
RedmineGitHosting::ConsoleLogger.title('Performing manual fetch_changesets operation from command line') do
RedmineGitHosting::GitoliteAccessor.flush_git_cache
Repository.fetch_changesets
end
end
desc 'Check repositories identifier uniqueness'
task check_repository_uniqueness: [:environment] do
RedmineGitHosting::ConsoleLogger.title('Checking repositories identifier uniqueness...') do
if Repository::Xitolite.have_duplicated_identifier?
RedmineGitHosting::ConsoleLogger.warn('Detected non-unique repository identifiers!')
puts YAML::dump(Repository::Xitolite.identifiers_to_hash.reject! { |k, v| v == 1 })
else
RedmineGitHosting::ConsoleLogger.info('No duplication detected, good !')
end
end
end
desc 'Resync ssh_keys'
task resync_ssh_keys: [:environment] do
RedmineGitHosting::ConsoleLogger.title('Performing manual resync_ssh_keys operation from command line') do
RedmineGitHosting::GitoliteAccessor.resync_ssh_keys(bypass_sidekiq: true)
end
end
desc 'Regenerate ssh_keys'
task regenerate_ssh_keys: [:environment] do
RedmineGitHosting::ConsoleLogger.title('Performing manual regenerate_ssh_keys operation from command line') do
RedmineGitHosting::GitoliteAccessor.regenerate_ssh_keys(bypass_sidekiq: true)
end
end
desc 'Install/update Gitolite hooks'
task install_hook_files: [:environment] do
RedmineGitHosting::ConsoleLogger.title('Installing/updating Gitolite hooks') do
puts YAML::dump(RedmineGitHosting::Config.install_hooks!)
end
end
desc 'Install/update Gitolite hook parameters'
task install_hook_parameters: [:environment] do
RedmineGitHosting::ConsoleLogger.title('Installing/updating Gitolite hook parameters') do
puts YAML::dump(RedmineGitHosting::Config.update_hook_params!)
end
end
task install_gitolite_hooks: [:install_hook_files, :install_hook_parameters]
desc 'Show library version'
task :version do
puts "Redmine Git Hosting #{version("plugins/redmine_git_hosting/init.rb")}"
end
def version(path)
line = File.read(Rails.root.join(path))[/^\s*version\s*.*/]
line.match(/.*version\s*['"](.*)['"]/)[1]
end
end