Redmine Checkout Plugin

Added by Holger Just almost 8 years ago

i like to introduce the Redmine Checkout Plugin. This plugin displays a link to the actual repository on the repository page. This allows users to directly checkout the source code of the respective project.

Additional to the features of the patch in #232, it is possible to explicitly state the URL to be shown.

The following feature definition was the basis for the project:

  • 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 on of
    1. the URL Redmine uses to fetch change sets (for subversion)
    2. a custom defined URL
    3. no URL at all
  • Provide I18n strings or at least English and German.

The home of the plugin is http://dev.holgerjust.de/projects/redmine-checkout/wiki.

Screenshot of the project settings for repositories

--Holger

settings.png - Screenshot of the project settings for repositories (64.7 KB)

Replies (24)

RE: Redmine Checkout Plugin - Added by Mischa The Evil almost 8 years ago

Holger,

Great plugin! Also nicely shows what's possible to do using some plugin hooks... Good work! One thing which should be mentioned (although the error is quite clear :) is that the plugin includes some DB-changes so a plugin migration is required.

Maybe it's also a nice idea to include an option to also show the used "username" for the projects SCM? Such would resolve #232 completely and which can then be closed.

Maybe you'll want to add the plugin to the Redmine plugin list (if you are planning on maintaining this plugin over time)?

 
Kind regards and thanks for posting the announcement,

Mischa.

RE: Redmine Checkout Plugin - Added by Felix Schäfer almost 8 years ago

Mischa The Evil wrote:

One thing which should be mentioned (although the error is quite clear :) is that the plugin includes some DB-changes so a plugin migration is required.

Well, that's part of the official plugin install guide, so I'd just call "Darwin" on people who don't take the time to read them through ;-)

RE: Redmine Checkout Plugin - Added by Holger Just almost 8 years ago

In the install description in my private Redmine the migration step is mentioned. But thanks for mentioning it here again. I kind of like the Darwin idea though :)

I just added another setting (which requires another migration) to display the login / password of the configured SCM. I think, I've now implemented all features of #232.

What I'm still wondering about is the distinction between repository.url and repository.root_url and why the latter seems to be only used in CVS.

RE: Redmine Checkout Plugin - Added by Mischa The Evil almost 8 years ago

Holger Just wrote:

I just added another setting (which requires another migration) to display the login / password of the configured SCM. I think, I've now implemented all features of #232.

I'll try it upcoming week and respond to #232 afterwards. Thanks for your quick work on it...

RE: Redmine Checkout Plugin - Added by Mischa The Evil almost 8 years ago

Mischa The Evil wrote:

Holger Just wrote:

I just added another setting (which requires another migration) to display the login / password of the configured SCM. I think, I've now implemented all features of #232.

I'll try it upcoming week and respond to #232 afterwards. Thanks for your quick work on it...

This thread seems to be a better place to dicuss this plugin's features and alike. Here's my quick update:

It indeed seems to resolve issue #232 in it's current state. Additionally, at https://dev.holgerjust.de/issues/127 I've added a patch which:
  • brings another new setting render_link to configure whether the actual URL should be rendered as a link or not
  • brings Dutch (nl) translations

I hope it helps someone with the same needs...

Thanks and kind regards,

 
Mischa.

RE: Redmine Checkout Plugin - Added by Holger Just almost 8 years ago

Mischa The Evil wrote:

Additionally, at https://dev.holgerjust.de/issues/127 I've added a patch which:
  • brings another new setting render_link to configure whether the actual URL should be rendered as a link or not
  • brings Dutch (nl) translations

I just merged your patch together with some further enhancements.

You are now able to configure default settings for each repository. Repository URLs can be globally customized using a regular expression (implemented as a gsub). Properly configured you will not need to change any settings in an individual project most of the time (for self-hosted repositories).

I just bumped the plugin to version 0.2 (RC). If there aren't any bugs left I will release that version in a few days.

--Holger

RE: Redmine Checkout Plugin - Added by Mischa The Evil almost 8 years ago

Holger Just wrote:

Mischa The Evil wrote:

Additionally, at https://dev.holgerjust.de/issues/127 I've added a patch which:
  • brings another new setting render_link to configure whether the actual URL should be rendered as a link or not
  • brings Dutch (nl) translations

I just merged your patch together with some further enhancements.

(...)

I just bumped the plugin to version 0.2 (RC). If there aren't any bugs left I will release that version in a few days.

--Holger

Thanks for the quick response and the integration of the patch. It'll complete the plugin's feature-set for me...

 
Regards,

Mischa.

RE: Redmine Checkout Plugin - Added by Holger Just over 7 years ago

I just released version 0.2 of the plugin.

This version allows the user to configure default settings for repositories. 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. It also allows to render the link to the checkout URL as a link with the text "Checkout URL" as in version 0.1 or using the URL as the link text (which is now the default).

Please see the release announcement or the wiki for further information.

RE: Redmine Checkout Plugin - Added by Holger Just over 7 years ago

Version 0.3 of the plugin was just released.

Please see the release announcement or the wiki for further information.

RE: Redmine Checkout Plugin - Added by Anthony Paul over 7 years ago

Nice Patch, thanks, however, is there any possibility to display the Checkout URL on the Overview page (or anywhere else with more visibility?)

RE: Redmine Checkout Plugin - Added by Holger Just over 7 years ago

Anthony Paul wrote:

Nice Patch, thanks, however, is there any possibility to display the Checkout URL on the Overview page (or anywhere else with more visibility?)

I just added a new macro you can use to create a link similar to the one on top of the repository. Just put the following into your textarea:

{{repository}}

Note, that this does not work on all occasions, as Redmine does not always provide sufficient information. On example is the projects lists. We do not know which project is actually rendered there (in the macro) and as such can not fetch the repository URL. As long, as the rendered text is displayed in the context of a project, it should however work most of the time.

RE: Redmine Checkout Plugin - Added by Peter Fern over 7 years ago

I've added a patch1 to optionally display the checkout command (ie - svn checkout, git clone, etc) next to the URL, since the URL often does not contain enough information for someone to determine which scm the repository is using. It also makes copy&paste checkouts easy... I like easy :). Please review and consider for commit if you get a chance.

[1] https://dev.holgerjust.de/issues/137

RE: Redmine Checkout Plugin - Added by Holger Just over 7 years ago

I just released a new version of the Redmine Checkout Plugin.

This version makes the plugin future-proof by consolidating all the additional database fields into a single one using a serialized hash. That way, future additions are much easier. Also added were translations of Korean, Spanish, and Romanian. Thanks to all contributors.

There were some additional features and 2 minor bugfixes. For a complete overview of the changes see the Roadmap.

As always the plugin can be seen in action on the projects repository. Installation instructions and further information can be found at the Wiki.

If you need help or have feature requests, feel free to file issues on the public issue tracker.

--Holger Just

RE: Redmine Checkout Plugin - Added by Holger Just over 7 years ago

I just released a new version of the Redmine Checkout Plugin.

This version is a maintenance / bug fix release. It fixes bug #145 discovered by Eric Davis, which would prevent new users from running the migrations. Additionally, it fixes a render bug in the repository view which could have broken some themes.

All new users are strongly advised to use this version, instead of the previous 0.4 Release. Existing users should also update to fix the rendering of the repository view.

Please see the release announcement or the wiki for further information.

If you need help or have feature requests, feel free to file issues on the public issue tracker.

--Holger Just

RE: Redmine Checkout Plugin - Added by Holger Just about 7 years ago

I just released a new version of the Redmine Checkout Plugin.

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.

For a complete overview of the changes see the Roadmap.

As always the plugin can be seen in action on the projects repository. Installation instructions and further information can be found at the Wiki.

If you need help or have feature requests, feel free to file issues on the public issue tracker.

--Holger Just

RE: Redmine Checkout Plugin - Added by Anonymous over 5 years ago

I'm getting problem with Redmine v1.4.0. I'm using redmine_checkout v0.5

$ rake db:migrate_plugins RAILS_ENV=production
(in /opt/redmine)
Migrating engines...
Migrating acts_as_activity_provider...
Migrating acts_as_attachable...
Migrating acts_as_customizable...
Migrating acts_as_event...
Migrating acts_as_list...
Migrating acts_as_searchable...
Migrating acts_as_tree...
Migrating acts_as_versioned...
Migrating acts_as_watchable...
Migrating awesome_nested_set...
Migrating classic_pagination...
Migrating gravatar...
Migrating open_id_authentication...
Migrating prepend_engine_views...
Migrating redmine_checkout...
==  AddCheckoutUrlInfo: migrating =============================================
-- add_column(:repositories, :checkout_url_type, :string, {:default=>"none", :null=>false})
   -> 0.2935s
-- add_column(:repositories, :checkout_url, :string, {:default=>"", :null=>false})
   -> 0.1969s
==  AddCheckoutUrlInfo: migrated (0.4907s) ====================================

==  AddDisplayLogin: migrating ================================================
-- add_column(:repositories, :display_login, :string, {:default=>"none", :null=>false})
   -> 0.2301s
==  AddDisplayLogin: migrated (0.2303s) =======================================

==  AddRenderLink: migrating ==================================================
-- add_column(:repositories, :render_link, :boolean, {:null=>true})
   -> 0.2135s
==  AddRenderLink: migrated (0.2137s) =========================================

==  RemoveDefaults: migrating =================================================
-- change_column(:repositories, :checkout_url_type, :string, {:default=>nil, :null=>true})
   -> 0.2267s
-- change_column(:repositories, :checkout_url, :string, {:default=>nil, :null=>true})
   -> 0.2178s
-- change_column(:repositories, :display_login, :string, {:default=>nil, :null=>true})
   -> 0.1962s
==  RemoveDefaults: migrated (0.6411s) ========================================

rake aborted!
/opt/redmine/vendor/plugins/redmine_checkout/db/migrate/20100118235909_add_overwrite_option.rb:8: syntax error, unexpected ',', expecting tASSOC
    Repository.update_all({:checkout_url_overwrite, true})
                                                   ^
/opt/redmine/vendor/plugins/redmine_checkout/db/migrate/20100118235909_add_overwrite_option.rb:15: syntax error, unexpected $end, expecting keyword_end

Tasks: TOP => db:migrate_plugins
(See full trace by running task with --trace)

RE: Redmine Checkout Plugin - Added by Sasha Harutyunyan over 4 years ago

Looks line no one can update this plugin to use with latest version of Redmine :(

It would be magically if Redmine dev`s will be integrate this plugin functionality with Redmine

RE: Redmine Checkout Plugin - Added by Steven Wong 6 months ago

Great ~~
by the way, How to upload my translation files to the plugins?

Artur Hefczyc wrote:

Updated for Redmine 3.3.2: https://projects.tigase.org/projects/redmine-checkout

RE: Redmine Checkout Plugin - Added by Artur Hefczyc 6 months ago

We do not plan to actively maintain and develop the plugin. We use it for our system and therefore we keep it up to date with recent Redmine versions. We also offer these updated versions to the public.

However, if you would like to update the plugin with some additional stuff, like translations, or something else, please register an account on our system and let me know your account name. I will, then grant you access to the project with rw to the code repository. So you can add your translation files yourself.

RE: Redmine Checkout Plugin - Added by Steven Wong 6 months ago

Ok, Thanks.

I login the website with account: archonwang / .

Artur Hefczyc wrote:

We do not plan to actively maintain and develop the plugin. We use it for our system and therefore we keep it up to date with recent Redmine versions. We also offer these updated versions to the public.

However, if you would like to update the plugin with some additional stuff, like translations, or something else, please register an account on our system and let me know your account name. I will, then grant you access to the project with rw to the code repository. So you can add your translation files yourself.

RE: Redmine Checkout Plugin - Added by Holger Just 6 months ago

Hmmm, now that I'm kind of back into Redmine development, I'll see if I find the time to integrate these patches back into my original version in the next couple of days to update it to work with newer versions.

The result will then be available at https://github.com/meineerde/redmine_checkout.

RE: Redmine Checkout Plugin - Added by Artur Hefczyc 6 months ago

Steven, access granted, please check it out.

Holger, great to hear it. Let me know if you need anything from our side.

RE: Redmine Checkout Plugin - Added by Steven Wong 6 months ago

sorry to reply it later , I just go out for some days and I will submit my codes later. Thanks.

Artur Hefczyc wrote:

Steven, access granted, please check it out.

Holger, great to hear it. Let me know if you need anything from our side.

(1-24/24)