Redmine Checkout Plugin 0.5

Added by Eric Davis on July 22, 2010 in Home Plugins

Redmine Checkout

Today Holger Just released an update to his Redmine Checkout plugin. This plugin adds additional information to the Repository module in Redmine:

  • The url to get a copy of entire repository
  • The url to get only the currently shown code (e.g. stable branch)
  • Instructions on how to use the repository (e.g. scm client instructions)

I think this adds a great feature to Redmine's Repository module, especially for open source and public projects. I'd like to see this added to

Community Update #6

Added by Eric Davis on January 21, 2010 in Home Code Community Plugins Themes

There's been a lot of activity in the Redmine community over the past few months. Here are some highlights from November 2009:

Code changes

Close versions

Versions can now be given a status which will close a version, preventing assigning new issues to it (#1245). This is great if you want to prevent adding additional features to a version, like during a release process. The three version statuses are:

  1. open: no restriction
  2. locked: can not assign new issues to the version
  3. closed: can not assign new issues and can not reopen assigned issues

Url to fetch changesets for a repository

In #2925 a new action was added to allow fetching the changesets for a repository to be triggered by a url. This means that when: is called Redmine will fetch all of the changesets for all projects.

You can also specific only one project to fetch with

Update trackers from the issue form

Feature #2405 changed the issue form so the Tracker Type can be changed as part of an issue update. This means that if a Feature was entered incorrectly as a Bug, it can be updated directly. Doing this used to require Moving the issue first.

Add or remove columns from the issue list

Feature #4272 adds a new set of options to the Issues list filters. Now you can add, remove, and reorder columns on the fly. I've found this useful for running reports on the issues like: "What are the target versions of issues that have an estimate, are due this week, and are assigned to someone?".

Tree based menus

Redmine will now support Tree based menus. This means any of the menus (the project menu, the top menu, the administration menu) can now have submenus and submenus. The Redmine core isn't taking advantage of this change yet, but some plugins have created additional menus and I suspect this will be used more in the near future.

The feature request shows an example of how the menus are structured as well as how to use the new API.

Allow custom fields for Versions

#4219 added support for defining custom fields on Versions.

Copy and Move

A 'Copy' check box was added to the Issue Move form. This will make it easy to copy multiple issues to another area of Redmine (e.g. different project, different Tracker). Added for Feature #1847.

Managers able to create subprojects

#2963 fixed a bug so users with the "Add Project" permission can now create sub projects. Before, they could only create top level projects.

"View Issues" user permission

#3187 adds a new permission "View Issues". This permission has always been "on" for users but now it is possible to turn it off if you don't want someone to see the issues list at all.

Allow [#id] as subject to reply by email

When the Email Receiving option is Redmine is configured, sending an email with the subject line of:

Subject: [#101]

would not find issue #101 correctly. Bug #3653 corrects this.

child_pages wiki macro on with ?version in URL

#4152 added the ability to specify a specific page version when using the child_pages wiki macro.

Community Events

6 new themes from Rajesh Krishnan

Rajesh Krishnan has released 6 new themes for Redmine. Each one has a different color scheme with some minor variations. If you're looking for a new theme for your Redmine, check them out.

Screenshot pasting plugin

Jean-Philippe Lang posted a quick plugin for Redmine that shows how a screenshot can be pasted directly into the issue form using a Java applet.

Redmine Harvest plugin

Jim Mulholland created a plugin to integrate Harvest time tracking into Redmine. He includes a short screencast of how it works on his blog post.

Scrum PM plugin

Marcin Jędras is working on a Scrum plugin for Redmine. It current supports some drag and drop planning but he's planning to add more features in the next releases.

iRedmine - iPhone app

Thomas Stägemann has released an iPhone app for Redmine called iRedmine. It's released under the GPL and the code is available on Github. I've tried it out and it's a great start. There are still some bugs but I've already found it useful, especially while traveling.

Question for the Redmine Community: Bug fix releases or release new plugins?

Added by Eric Davis on December 10, 2009 in Home Community Plugins

I wanted to make a short post to ask for some feedback on a question I just posted my development blog. I asked which people would prefer: "Bug fix releases to my existing plugins or the release of new plugins that are complete?"

If you have a minute, I'd love to hear what you think. You can leave a comment here or on my original blog post.

Thank you.

Community Update #5

Added by Eric Davis on December 07, 2009 in Home Community Code Plugins

There's been a bunch of activity in the Redmine community lately. This post will highlight some of the major changes from September and October.

Code changes


Jean-Philippe Lang added group support to the Redmine trunk. This makes it easy to assign a set of people to each project. Each group can be given an existing Role in Redmine so you can control their permissions using the existing settings. Added in r2869 for Issue #1018.

Attachments are added to an issue even during a failed save

A bug was fixed when a user would:

  1. Try to post an update to an issue with a file attachment.
  2. The update failed because someone else updated the issue first.
  3. Attachments would still be added to the issue, without a journal entry.

r2875 changed this so the attachments would be deleted if the update failed (step #3). I don't agree with the behavior, I'd rather have Redmine store the attachments and then try to reattach them after the user resubmits. Added for Issue #3846.

Include spent time in the Activity

When time is logged to a project, it can now be included as part of the Activity stream. This also works on the cross-project Activity stream (e.g. Added in r2877 for Issue #3809.

Customize the Issue filters on custom queries

Issue #2883 added the ability to edit the filters on a custom query. So if you use custom queries for reporting, you can now add or remove filters to modify the data that's displayed without having to edit the custom query itself.

Remove Watchers

Jean-Philippe Lang added the ability to remove issue watchers in r2977. I've been missing this feature for some time, since I use watchers to make sure specific people are notified of changes to issues.

Hide user profiles if they have no visible activity

User profiles (at /account/show/user-id) are now hidden unless the user has any public activity. This will be useful to hide user accounts who should not be listed in the public. Added in r2986 for Issue #3720.

Community Events

Backlogs plugin

Mark Maglana released the Backlogs plugin, a plugin that will help a team visualize the work in progress and work remaining. The announcement contains a url to a demonstration of the plugin.

Workload plugin

Christopher Mann created a Workload plugin for Redmine. It looks interesting and might compliment the Schedules plugin. The plugin can be downloaded from the forum thread or from Github.

Amazon S3 storage plugin

Christopher Dell has created a plugin that will let Redmine save file uploads to Amazon's S3 service. I'm extremely interested in this, since S3 storage is very cheap and makes hosting Redmine in the cloud a lot easier. I'm planning on trying out the plugin and posting a review of it here.

Bugzilla migration script

Ralph Juhnke has posted a new migration script to convert a Bugzilla install to Redmine. His script has been posted to Github and should work with both Redmine 0.8.x and trunk.

Redmine Repository Controls plugin

Brian created the Redmine Repository Controls plugin. This plugin allows more fine grained repository access control and permissions, based on Subversion's SVNAuthz file. It currently only supports Subversion but he's left the ability to support any SCM that uses WebDav. More information can be found on it's Google Code page.

Redmine Risk plugins

Daniel Neis Araujo and Nicolas Bertet both created two different risk management plugins for Redmine. The plugins are both trying to make it easy for Redmine users to define and evaluate the different risks that are involved in a project. As I haven't looked at either one yet, if you are using one please let me know what you think in the comments.

Community Update #4

Added by Eric Davis on November 30, 2009 in Home Code Community Plugins

I have a lot of updates from Redmine for the Community Updates so I'm going to split them into a few posts. This update will cover events from July 13th through September 1st.

Code changes

Git Branch support

Adam Soltys created a patch to add branch support for the git SCM repository. This patch will let you browse through all of the branches in a git repository including the revisions and diffs. It's gone through a few bug fixes but I've had some great experience using it in production on my Redmine so far. This was committed in r2840 for Issue #1406.

If you would to try this out, my Stuff To Do project is public.

Exporting a custom issue query to PDF will use the custom columns

In r2841 Jean-Philippe Lang fixed a bug that prevented custom columns from working with the issue list PDF export.

Journal entry in Issue not displaying correctly

I added a small tweak to the Journal entries (Issue notes) so any lists are aligned properly when Gravatars are enabled or disabled. Committed in r2848 for Issue #3771.

Community Events

Wiki Extensions plugin

Haru Iida has made several updates to his Wiki Extensions plugin. It's under rapid development so if you're interested in it I'd recommend watching the forum thread about it.

Code Review plugin

Haru Iida also released a few new versions of the Code Review Plugin with a bunch of bug fixes and compatibility updates. You can find the release notes in these forum topics: Code Review Plugin 0.2.0 Released. and Code Review Plugin 0.2.7 Released..

NewIssueAlerts plugin

chantra created a new plugin called NewIssueAlerts. When it's installed, it will let you setup a Redmine project to add an email address into the new issue email notification. This would be useful to notify specific people whenever an issue is created. You can read about the plugin on the forum thread and download the plugin from Github

Global Filter Plugin

Kumudha Rangachari posted the Global Filter plugin which will display a list of your global filters on the Redmine homepage. This would be very useful if you use saved Queries a lot and need to navigate to them quickly. The wiki page has some documentation as well as the Readme file on the Github project.

It also includes a related change which I think is interesting. On the issue list there will be a new set of filters which can be used to further the issue list to show only specific projects. This is visible on the wiki page in the screenshot at the very bottom. Personally, I think this feature would be good to be included in the Redmine core.

Default Assigned User

Robert Chady created a plugin that adds the ability to automatically assign an issue to a default user when it's created. I'm thinking of using this on my smaller projects, where one person is responsible for the majority of the work. You can get the plugin from Github and read about it in Issue #482.

I'm thinking about writing these posts at the end of every month. Let me know if you like that idea in the comments below.

Embedding Github's Gist into Redmine

Added by Eric Davis on November 11, 2009 in Home Code Plugins

Github provides a service called Gist, where you can share snippets of code or text with others. What I like about Gist compared to other sites is that you can copy and edit other people's Gists to improve them. Yasushi Abe wrote a very simple plugin for Redmine that gives Redmine the ability to embed a Gist into the Wiki. Once it's installed, it's used by calling the gist macro with the Gist id like gist(113685).

Here's an example of using it on a wiki page:

Gist embedded in an issue

And another example of using it on an issue's page:

Gist embedded in an issue

Since the plugin is so short, I'm going to include the entire plugin here. To install it, just create a directory called vendor/plugins/redmine_gist and copy this file into it.

### Also available from
# vendor/plugins/redmine_gist/init.rb
require 'redmine'
require 'open-uri'

Redmine::Plugin.register :redmine_gist do
  name 'Redmine Gist embed plugin'
  author 'Yasushi Abe <>'
  description 'This is a plugin for Redmine'
  version '0.0.1'

  Redmine::WikiFormatting::Macros.register do
    desc "gist embed"
    macro :gist do |obj, args|
      javascript_tag(nil, :src=>"{args[0]}.js") unless args.empty?


One thing I did discover is that the Gist system doesn't allow sharing private Gists this way. So you will have to make sure that any Gist you post is public.

Let me know in the comments if you're using this plugin and what you are using it for.

Eric Davis

Community Update #3

Added by edavis on July 17, 2009 in Code Community Home Plugins Themes

It's time for another update on what's been happening in the Redmine community. This installment covers from May 18th through July 12th.

Code Changes

Anonymous issue creation via email

Redmine's mail handler is a very powerful component, allowing users to send email to create new issues or update existing ones. r2789 added some additional options, including the ability to accept email from unknown users and automatically create accounts for them. This makes it easy to publish an email address for anyone to send new requests directly to Redmine.

Enhancement to about script

The about script, commonly called script/about, is used to let someone know what version of Redmine and Ruby on Rails you are running. #3387 enhanced the script to also include information about the installed Redmine plugins and their version. I know this will help me support my plugins by understanding what versions people encounter bugs on.

Administration panel breadcrumbs

A few sections of the Administration panel now has breadcrumb links to help navigate up a level. Personally, I'd like to redo the entire navigation of the Administration panel, but that will have to wait. r2810 added breadcrumbs for:

  • Custom Fields
  • Enumerations
  • Issue statuses
  • Roles
  • Trackers
  • Users

Fix for Bazaar merge tags

When branches are merged in Bazaar, a merge commit is performed. Redmine wasn't able to parse these merge commits which causing some commits to be missing from Redmine's database. Scott Aubrey supplied a patch for parsing the merge commits correctly, which was committed in r2780.

Enumerations storage change

r2777 included a major internal change to how Enumerations are stored. Enumerations include time entry activities, document categories, and issue priorities. To the user or administrator of Redmine, this change has no real impact. But plugin developers can take advantage of this change by being able to define their own custom Enumerations. If you are a plugin developer and need to store data that is similar to the existing Enumerations, I'd recommend you try to take advantage of this change.

Plugin hooks

A few plugin hooks were added for plugin developers.

  • :view_versions_show_contextual - r2771
  • :view_account_left_bottom - r2772
  • :view_account_right_bottom - r2772
  • :model_changeset_scan_commit_for_issue_ids_pre_issue_update - r2773
  • :controller_messages_new_after_save - r2774
  • :controller_messages_reply_after_save - r2774
  • :controller_wiki_edit_after_save - r2774
  • :controller_timelog_edit_before_save r2775

User Groups under development

I also noticed that Jean-Philippe Lang has started development on user groups in a separate groups branch. User groups is one of the major features scheduled for 0.9 and I know several organizations that are looking forward to this feature, especially the time savings it'll have. There's no time estimate when this will hit trunk but I suspect it will be over the next few weeks.

Community Events

There was a huge number of plugins developed over the past months. I'm so happy that the community is really innovating with plugins.

Campfire notification plugin

Edouard Brière created a Redmine plugin that will send issue notifications to a Campfire room. This would be useful to get real time notification of Redmine updates into your company chatroom. I wonder if someone will create one of these for IRC.

Code review plugin -

Haru Iida has released a new version of the Code Review plugin. This is a minor release that includes some bug fixes from the last release.

Developer Rates plugin

Shaun Gilroy has released a plugin called Developer Rates. From what I've heard, this plugin will let you attach an hourly rate to each time entry in Redmine. It's worth a look if you want to track any hourly costs in Redmine.

HoptoadServer plugin

Jan Schulz-Hofen has released the HoptoadServer plugin. Hoptoad is a service that will collect and manage errors from a Ruby on Rails application. The service provides a free plugin that you use to report to the Hoptoad servers. The HoptoadServer plugin allows Redmine to act as a Hoptoad server, replacing the need for the Hoptoad service. I'm already using this plugin with a few applications I'm hosting and I've been very happy getting all the errors sent directly to Redmine.

Hudson plugin

Toshiyuki Ando has released a plugin to integrate the Hudson continuous integration system into Redmine. The Hudson plugin has been under active development, with several releases in the past month. I don't run Hudson, but the integration this plugin provides is making me consider a switch to Hudson.

Issue import script

Joe Chin Hi Rene posted an example script that can be used to import issues from a CSV file into Redmine. If you're looking for a quick way to get a bunch of issues created, this script might be a good starting point. plugin

Ciaran Jessup has released a plugin for Redmine that will integrate Redmine notifications into, Twitter, or Once configured, this plugin will send notifications to the service making it easier to other people to follow what's happening in Redmine. This continues the recent trend of having Redmine send it's notifications out to external services.

Squeejee theme - 0.2.0

Mischa The Evil has uploaded a new version of the Squeejee theme for Redmine. This is a darker theme than the default Redmine theme and includes a wide variety of graphics. Mischa has done a terrific job of documenting which versions of Redmine, browsers, and plugins are compatible with it. If you're looking for a high quality theme with great support, I'd recommend trying anything Mischa packages.

Redmine Collapse plugin - 0.2.2

Mischa The Evil also released a few updates to his Redmine Collapse plugin. This plugin modifies the default layout of Redmine so the entire sidebar can be hidden away from view. This is useful if you work with a lot of data or need more monitor space. Once again, Mischa has some great documentation on it's compatibility on the plugin page.

Watersky theme

Konstantin Zaitsev has posted a new theme for Redmine, titled watersky. This is a nice blue theme for Redmine, using images instead of text links on the menus.

Wiki Extensions plugin

Haru Iida released another plugin which adds a few new wiki macros to Redmine, titled Wiki Extensions. If you're using the wiki in Redmine a lot, you will want to take a look at the demo page he put up to see if there's anything you could use.

If you hear about something in the Redmine community that you think is useful, please let me know about it and I'll try to spread the word.


Community Update #2

Added by edavis on May 19, 2009 in Code Community Home Plugins

This is the second installment of what's happening the Redmine community. This installment covers from March 28th through May 18th, which ended up being somewhere around 700 changes, messages, and updates. I've tried to highlight some of the major code changes and events in the community.

Code Changes

Redmine 0.8.4 released

Redmine 0.8.4 was released this past weekend. It's a bug fix release with a security update may affect people running Phusion Passenger. The list of bugs fixed in the release can be found on the changelog. Since this fixes a potential security issue (below), all users are recommend to upgrade or audit their Redmine install.

Weak autologin token generation algorithm causes duplicate tokens

The random sequence generator used by the autologin token wasn't being checked if it was creating unique values. This generator was replaced with the one from Ruby on Rails in ActiveSupport::SecureRandom and a database validation to improve security. Alexander Pavlov included a database query to see if you have been affected by the bug.

Add email notification on Wiki changes

Jean-Philippe Lang added an option to send email notification of wiki page creations and changes in r2749. It can be enabled in the Administration Panel under Email Notifications. The email notifications look good and include a link to view the diff of the wiki page on Redmine.

Create project for no administrator user

Jean-Philippe Lang changed how projects are created in Redmine so normal users can now be given permission to create projects. This is controlled by the "Create Project" permission so each site can turn it on or off for specific users. #1007

Users can have multiple roles

Jean-Philippe Lang committed yet another great feature to Redmine in Issue #706. Now a user will be able to have multiple Roles on a project, making it easier to control permissions and security. I'm going to start using this feature by separating out some common Roles like "Bookkeeper" and "Reports". Since this was a pretty major feature, there are going to be a few bugs to work out of the system as it's used. I'd recommend trying it out in a development environment for now and waiting a week or so for any major issues to be resolved.

script/about was failing on the production database

script/about is a Ruby script that will print out information about the current Redmine environment including library versions, database versions, and other debugging information. It looks like there was an error on a Ruby on Rails update so the script would only load the development environment. In r2733 the missing library was added so script/about should work for production instances again.

Community Events

Redmine Blog Plugin

Andrew Chaika just released Redmine Blog 0.0.3. This is a plugin that will give users the ability to write blog posts inside of Redmine. I think this could be very interesting on larger projects where teams want to store knowledge about the project inside of Redmine itself.

Redmine Code Review Plugin

Haru Iida released a Code Review plugin for Redmine. This will let a user add a code review on a particular piece of code in the code repository. I'm considering using this on my Open Source plugins so others can help to review and improve the code.

If you hear about something in the Redmine community that you think is useful, please let me know about it and I'll try to spread the word.


Schedules plugin v 0.4.0 review

Added by edavis on May 06, 2009 in Home Plugins

Recently there was a new release of the Redmine Schedules plugin by Brad Beattie of Gossamer Threads Inc.. Since I've been using the first version of it for a few months now, I wanted to do a review of it so others can find out a bit more about it.

What does it do?

The Schedules plugin is a plugin that lets users mange their daily schedules and plan when they will be working on specific projects. It works across projects and have a variety of reporting methods.

Who is it for?

It's for people who want to schedule themselves to work on a project for a period of time. The majority of the reports are useful for managers to see how their staff is doing and to see if any scheduling adjustments need to happen. I use it to plan out when I am going to work on a specific project and to see my work availability.



The plugin follows the standard install process for Redmine plugins:

  1. Download from the released files or GitHub
  2. Extract the files to vendor/plugins/redmine_schedules
  3. Run rake db:migrate_plugins
  4. Restart Ruby server


Schedules adds some new permissions to Redmine, so these will need to be configured in the Roles and Permissions administration panel.

  • View Schedules - is a Role is allowed to see schedules at all?
  • Edit Own Schedule - is a Role is allowed to edit their own schedule?
  • Edit All Schedules - is a Role is allowed to edit other user schedules?

The final configuration the plugin needs is to enable the Schedule module for each project it's to be used on. This can be do in the Project Settings > Modules area.


Schedules is a mature plugin with a lot of features. I'm going to briefly go through some of the major features and one feature I think a lot of people might miss.

User schedules

Each user with the View Schedules permission will get a personal schedule. It can be accessed by the "My schedule" link on the top left menu. The plugin will load the schedule for the current week showing blocks of time for each project the user is scheduled for.

In this example, you can see that the user is scheduled for 2 hours on the "Digitized system-worthy system" project and 6 hours for "Right-sized directional policy" for Monday the 4th. The plugin allows lets a user change the week that is displayed and also page through the next and previous weeks.

User Availability

In addition, each user is able to setup the amount of time they have available per day. This can be used by the user to show that they work Monday through Friday for 7 hours and 8 hours on Tuesday. In the image above, on May 5th there is a light gray block for the an extra hour the user available because their availability is 8 hours for Tuesdays. I use this to see if I have any open availability each day, perfect for those emergency bug fixes.

All user schedules

Once multiple users have entered a schedule, a summary view of all the user's schedules can be found at the "All schedule" link on the sidebar. This report is useful to get an overview of who is working on what project for the week and to plan out any new work.

In the above image, it looks like Desiree Renner has some availability for Monday, Tuesdays, and Friday. If I was her manager I might want to give her some more work on those days or reschedule some work from Wednesday and Thursday to balance it out.

Project schedules

A Project's schedule can be reached by clicking any of the links to the Project on the user schedules or by the Schedule tab that is added to the Project. This schedule looks the same as the user schedules but it collects the times all users are scheduled per day. This report is great for seeing when people are going to be working on a project and if there is a enough staff assigned each week.

Schedule Report

The Schedule report, linked from the sidebar, is a more detailed view of how people are scheduled. Similar to Redmine's own Time Log report, this lets you select a date range and run queries on the data. In heavier staffed projects, this report would be useful to get a long term view on scheduling.

Issue estimated due date

Here's a nice feature that I think a few people have a hard time finding. The purpose of this feature is to edit multiple issues to change their due dates to be the soonest they can be based on who the issue is assigned to and that person's schedule. In order for this to work, some data needs to be setup first:

  1. A Version needs to be created
  2. Issues need to be assigned to a user
  3. Issues need to have an Estimated time entered
  4. Issues need to be assigned to the version

Once this is done, the Versions page will have an "Estimate" link in the top right menu. Clicking this will run the calculations and will provide the estimated due dates for all the issues. This would be a great way to see if a user is overloaded with work and will delay a project.


Overall, I'm very impressed with the work Brad Beattie has done on this plugin. I've noticed a few bugs in the few months I've used it and they are usually fixed in the next version. I'm hosting the project on my Redmine right now and your thoughts and ideas are welcome.


Community Update #1

Added by edavis on April 29, 2009 in Code Community Home Plugins

This is the first installment of regular updates of what's happening the Redmine community. I'm going to highlight the recent code changes and some important events by community members. This installment covers from March 20th through March 28th.

Code Changes

There was a lot of activity this past week with Jean-Philippe fixing a lot of bugs that have cropped up in trunk.

Email notifications of status changes on issues used the old status in the subject

In #3194, Chaoqun Zou noticed that if an issue's status was changed, the email notifications would use the old Status name in their subject line. This was fixed by a minor change to the emailing methods in r2673.

Deleting a parent wiki page will prompt about removing child pages.

Before r2676, when a parent wiki page was removed all of the child pages would be deleted also. This is could cause some data loss if the user isn't aware of it. Now, when a parent page is deleted, the user will be prompted with a few options for what to do with the child pages:

  • Move the child pages to the root of the wiki
  • Move the child pages under a different parent page
  • Delete the child pages.

Issue #3202 has some more details about this change.

Missing attachment

Missing attachment files will now return a HTTP 404 not found instead of the 500 error. I've seen this come up a couple of times. r2692

Issue Grouping

Issue Grouping

Jean-Philippe Lang committed a very nice feature to the Issues list in r2696, Issue grouping. Now the Issue List can be grouped by a specific column.

Community Events

Schedules plugin release

Brad Beattie just released a new version of the Schedules plugins. This version should be compatible with both Redmine 0.8.3 and trunk. I've been using Schedules everyday since it was first released to help plan out my day.

Local avatar plugin released

Andrew Chaika has been busy developing a few plugins for Redmine. He has an Local Avatars plugin that will let administrators use local versions of user avatars instead of the Gravatar service. Like he said, this would be useful for corporate emails that can't use Gravatar.

Vote plugin released

Not to be content with only one release, Andrew Chaika also released the first version of the Issue Vote plugin. This plugin will allow users to vote on issues. This would be extremely useful for public or Open Source projects to discover user interest. I'm going to be looking at adding it to my Redmine soon.

Rate and Budget plugins released

I've also released the first version of the Redmine Rate plugin and an update to the Budget plugin. I personally think they are great plugins, but I'm little biased.

Synchronizing Two Git Repositories

Farzad FARID recently wrote up a great tutorial for synchronizing two git repositories with Redmine. In his example, he configured his Redmine git repository to sync up with a GitHub one.

If you hear about something in the Redmine community that you think is useful, please let me know about it and I'll try to spread the word.