Mastering Redmine

Mastering Redmine is a comprehensive guide with tips, tricks and best practices, and an easy-to-learn structure.

Check the book project on this site and/or

Buy the book

By buying this book you will also be donating to Redmine (see this page).


Patch #1985

Redmine.pm for Git supporting project-aliases

Added by David Rahusen about 1 year ago. Updated 8 months ago.

Status:Under Verification Start:23 Feb 2012
Priority:Normal Due date:
Assigned to:- % Done:

0%

Category:-
Target version:0.0.2
External issue: #4905
Votes: 0

Description

Hey there,

I’ve been fiddling around to get Redmine.pm handling project-aliases. I finally made it! But if the identifier has been changed, the old identifier needs to be present as an alias!!! Otherwise the SCM directory will be finally unreachable.

However, I’m really NOT familiar with perl/mod_perl. Therefore, usage is on own risk, I cannot guarantee for anything!

The attached diff is the diff of my Redmine.pm to the original extra/svn/Redmine.pm as originally delivered by Redmine, including the following patches/modifications:
  • Support for Git: "0001-Redmine.pm-update-patch-4905-to-Redmine-1.3.0-fixed.patch" ( Redmine #4905 )
  • Minor modification for LDAP-Authentication via the login credentials that shall be authentificated.
  • Support for project-alias: Redirects to the "real SCM-directory" if an alias is used or identifier has been changed.
The modifications for project aliases are like this:
  • The sql query retrieves permissions for the project, specified by project-identifier OR project-id corresponding to the alias wihtin table project_aliases.
  • Checks if directory named like the project-identifier specified by the URL exists.
    • If yes, proceed as usual.
    • If not, check if directory named like the real project-identifier retrieved from database exists.
      • If yes, redirect to corrected URL.
      • If not, check if directory named like any alias exists.
        • If yes, redirect to the corrected URL.
        • If not, go on. The SCM will announce an error.
Open issues:
  • Line 473-475: The location of the repositories should be retrieved from Apache config or environment variables. Any ideas?
  • The script should be double checked at all! In my environment it works fully satisfying for me, for others maybe not.

Redmine.pm.diff (7.6 KB) David Rahusen, 23 Feb 2012 12:09

History

Updated by Andriy Lesyuk about 1 year ago

  • Status changed from New to Under Verification

Great work, David! Thanks!

P.S. If you are using Redmine SCM Creator the repository gets renamed automatically along with the identifier (but SVN address also changes)...

Updated by Andriy Lesyuk about 1 year ago

  • Target version set to 0.0.2

Updated by Andriy Lesyuk about 1 year ago

You need to recreate the patch using:

$ diff -rNau Redmine.pm.orig Redmine.pm

Updated by David Rahusen 8 months ago

Sorry for the huge delay...right now I am migrating to version 1.4.4. I guess I can recreate the patch while migration. Please hold on a little longer.

Also available in: Atom PDF