It should be possible to automatically and immediately create repositories for projects. The current method (reposman.rb being run every so often by cron) is far from perfect.
In the project's Settings -> Repository tab there is a 'select' to choose a SCM.Currently:
- When the SCM is chosen (git, svn, bazaar, etc), the "repository_field_tags" method in app/helpers/repositories_helper.rb is called and creates the fields each SCM need.
- User fills in the location of the repository (which should have been created manually) and clicks "Create"
- When the SCM is chosen, show two radiobuttons: "Automatically create repository" and "Manually specify repository location" (see attached screenshot)
- Add a "Default location for repositories" text entry to Administration -> Settings -> Repositories. This would be the directory where repositories are automatically created.
- If user chooses "Automatically create repository", call reposman.rb and create the repository immediately in the default repository location
- If user chooses "Manually specify repository location", do what is currently being done: call the "repository_field_tags" method in app/helpers/repositories_helper.rb, creates the fields each SCM needs, the user fills in the repository location.
Updated by Bruno Prado almost 14 years ago
Redmine is configured to create repositories on reposman.rb run if the module Repository is enabled. What I did was: created a shell script containing the whole command to run reposman.rb, and when a new project in Redmine is created, I manually run shell reposman. I suggest that when a project is created in Redmine, it automatically creates its repository (if the module is enabled, as it's done today).
Updated by Daniel Felix about 11 years ago
This could be useful two for some administrator who don't want to run the repoman every minute or every 15 minutes, but always want to have simple and fast repositories.
Another kind of idea how to implement this:
- Add some checkbox "create repository immediatly"
- If checkbox is selected automatically run repoman in background.
This way, repoman could also be deactivated and could run only if the user wants to create repositories.