Redmine Checkout plugin

Description

This Project aims to create a plugin for the Redmine project management application to display a link to the actual source code repository for checkout purposes.

Screenshots

Plugin configuration

You can define the default settings for each of your plugins. For self-hosted repositories (e.g. created by reposman.rb) this means you normally don't have to change any repository settings for new projects.

Plugin configuration page for setting default values

Individual repository settings

If you want to change any settings for an individual repository you can do so however. Note that if you decide to overwrite the default settings, all of them are overwritten until you set "Overwrite default settings for checkout URL" to No gain.

The extended repository settings GUI allows to overwrite global settings

Changelog

Version 0.6 (to be released)

This version was originally planned as the 0.5.1 maintenance release. As we have now an additional migration (because of #170), this release was promoted to a minor release.

Features

  • I18N: Italian translation (#157)
  • I18N: Catalan translation (#164)
  • I18N: Polish translation (#163)
  • Instead of displaying the Redmine username of a repo, use the current user's login (#170)
  • The repository info pane is now even displayed if an error occurred (e.g. if a git repository is still empty)

Fixed Bugs

  • Fixed some down-migrations. (#165) This allows the uninstall of older releases. The current release can not be fully uninstalled, as the migration from 0.4 to 0.5 can not be reversed currently. If you absolutely need this feature, please create a new issue.
  • Showing username and password did not work for subversion repositories. (#166)
  • Does not break on CVS repositories anymore (#180)
  • Compatibility with ChiliProject 2.x – thus Rails 2.3.12 – is restored

Version 0.5 (2010-07-22)

The goal of this release was to have the ability to define multiple URLs per repository. This is needed by e.g. Git. A common protocol choice for a self-hosted Git repository would look like this:

  • traditional Git protocol (read-only)
  • Git+SSH (read+write)
  • Git over WebDAV (read+write)

As these three protocols all run by different URLs, it was necessary to derive the protocol URLs from the base repository and have some kind of URL switcher on the user-facing side. Also added was the ability to add a repository description.

Features

  • Introduced the ability to define multiple protocols (#146)
  • Added a clipboard helper which copies the currently selected protocol URL into the users clipboard (#144)

Fixed Bugs

None, as this is a comprehensive rewrite.

Version 0.4.1 (2010-05-26)

Features

None, this is just a maintenance / bug fix release

Fixed Bugs

  • A migration during a clean install did not work properly due to changed code (#145)
  • Minor: Fixed the rendering bug which could break some themes.

Version 0.4 (2010-05-18)

Features

  • I18N: Korean translation (#136)
  • I18N: Spanish translation (#140)
  • I18N: Romanian translation (#141)
  • Added a {{repository}} macro to render a link similar to the one on top of the repository.
  • Added a new link render mode to display the SCM command used for checking out / cloning (#137)
  • Remove the many additional fields from the repositories table and use a serialized hash instead. This makes future additions much easier. (r65)
  • Always display the root URL for repository types which do not allow the checkout of sub-trees. (#143)

Fixed Bugs

  • Minor: Use the correct method for URL escaping
  • Minor: Fixed HTML output

Version 0.3 (2010-02-17)

Features

  • Added French translation (#130)
  • Add the option to use the generated URL but still overwrite all other options in a project
  • Allow different regexes for each configurable repository type (#133)
  • Rake task to set all existing repositories to use the default settings (#134). Run rake redmine:plugins:redmine_checkout:set_default

Fixed bugs

Version 0.2 (2010-01-23)

Features

  • Default settings can now be configured (#126)
  • Repository URLs can be customized using a regular expression (#126)
  • Added RSpec tests
    Run as follows:
    cd /path/to/redmine
    script/generate rspec # if needed
    rake spec:plugins:redmine_checkout
  • I18N: Japanese translation (#125)
  • I18N: Dutch translation (#127)

Fixed bugs

  • Fixed installation instructions in README.rdoc

Version 0.1 (2009-12-20)

Features

  • Display a URL which can be used to checkout code on the Repository view
  • Select in the project settings which URL should be shown. It can be one of
    1. the URL Redmine uses to fetch change sets
    2. a custom defined URL
    3. no URL at all
  • Select in the project settings whether the SCM login used by Redmine
    1. Only the login
    2. login and password
    3. none of the above
  • Provide I18n strings for English and German.

Fixed bugs

This is the initial version, so no bugs were fixed here.

Requirements

This Plugin was only tested on Redmine Trunk (aka Redmine 0.9). However, it should also run on Redmine 0.8.x if the migrations are renamed as the "old" engines plugin can not cope with the date based migration names.

Installation

The installation follows the default path for Redmine plugins.

  1. Copy the software to the vendor/plugins directory. Make sure that the name of the directory is redmine_checkout.
    • for the latest stable version
      • Download the most recent package from the Files section.
      • copy the contents of the downloaded archive to vendor/plugins/redmine_checkout of your Redmine installation
    • for the most up to date version (which can be considered stable too)
      cd vendor/plugins
      svn co https://dev.holgerjust.de/svn/redmine-checkout/trunk redmine_checkout
      
  2. Run rake db:migrate_plugins RAILS_ENV=production
  3. Restart Redmine

Language and I18n contributors

License

Short version

take my code with you
and do whatever you want
but please don’t blame me

License Haiku

Legal version

Copyright (c) 2009, 2010 Holger Just

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

project_settings.png - The extended repository settings GUI allows to overwrite global settings (149.6 kB) Holger Just, 2010-07-20 22:22

global_settings.png - Plugin configuration page for setting default values (146.7 kB) Holger Just, 2010-07-20 22:22