From 0ffe328c0ac35b7593d1300a1a9d7474a5e1af10 Mon Sep 17 00:00:00 2001 From: Toshi MARUYAMA Date: Fri, 4 Feb 2011 04:28:39 +0000 Subject: [PATCH] scm: add a feature of configurable path of executable for scm adapters (#7517). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4795 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- config/configuration.yml.example | 9 +++++++++ lib/redmine/scm/adapters/bazaar_adapter.rb | 2 +- lib/redmine/scm/adapters/cvs_adapter.rb | 2 +- lib/redmine/scm/adapters/darcs_adapter.rb | 2 +- lib/redmine/scm/adapters/git_adapter.rb | 2 +- lib/redmine/scm/adapters/mercurial_adapter.rb | 2 +- lib/redmine/scm/adapters/subversion_adapter.rb | 2 +- 7 files changed, 15 insertions(+), 6 deletions(-) diff --git a/config/configuration.yml.example b/config/configuration.yml.example index 5756907dc..94d1928b7 100644 --- a/config/configuration.yml.example +++ b/config/configuration.yml.example @@ -107,6 +107,15 @@ default: autologin_cookie_path: autologin_cookie_secure: + # Configuration of SCM executable command. + # Absolute path (ex. /usr/local/bin/hg) or command name (ex. hg.exe, bzr.exe) + # On Windows, *.cmd, *.bat (ex. hg.cmd, bzr.bat) does not work. + scm_command_subversion: svn # (default: svn) + scm_command_mercurial: "\"C:\Program Files\TortoiseHg\hg.exe\"" # (default: hg) + scm_command_git: /usr/local/bin/git # (default: git) + scm_command_bazaar: bzr.exe # (default: bzr) + scm_command_darcs: darcs-1.0.9-i386-linux # (default: darcs) + # specific configuration options for production environment # that overrides the default ones production: diff --git a/lib/redmine/scm/adapters/bazaar_adapter.rb b/lib/redmine/scm/adapters/bazaar_adapter.rb index a04c3491c..bf31b3a9d 100644 --- a/lib/redmine/scm/adapters/bazaar_adapter.rb +++ b/lib/redmine/scm/adapters/bazaar_adapter.rb @@ -23,7 +23,7 @@ module Redmine class BazaarAdapter < AbstractAdapter # Bazaar executable name - BZR_BIN = "bzr" + BZR_BIN = Redmine::Configuration['scm_command_bazaar'] || "bzr" # Get info about the repository def info diff --git a/lib/redmine/scm/adapters/cvs_adapter.rb b/lib/redmine/scm/adapters/cvs_adapter.rb index 44a252fce..5b5f5cde3 100644 --- a/lib/redmine/scm/adapters/cvs_adapter.rb +++ b/lib/redmine/scm/adapters/cvs_adapter.rb @@ -23,7 +23,7 @@ module Redmine class CvsAdapter < AbstractAdapter # CVS executable name - CVS_BIN = "cvs" + CVS_BIN = Redmine::Configuration['scm_command_cvs'] || "cvs" # Guidelines for the input: # url -> the project-path, relative to the cvsroot (eg. module name) diff --git a/lib/redmine/scm/adapters/darcs_adapter.rb b/lib/redmine/scm/adapters/darcs_adapter.rb index 69805a360..0ccc6f105 100644 --- a/lib/redmine/scm/adapters/darcs_adapter.rb +++ b/lib/redmine/scm/adapters/darcs_adapter.rb @@ -23,7 +23,7 @@ module Redmine module Adapters class DarcsAdapter < AbstractAdapter # Darcs executable name - DARCS_BIN = "darcs" + DARCS_BIN = Redmine::Configuration['scm_command_darcs'] || "darcs" class << self def client_version diff --git a/lib/redmine/scm/adapters/git_adapter.rb b/lib/redmine/scm/adapters/git_adapter.rb index 302ded580..d437b9559 100644 --- a/lib/redmine/scm/adapters/git_adapter.rb +++ b/lib/redmine/scm/adapters/git_adapter.rb @@ -22,7 +22,7 @@ module Redmine module Adapters class GitAdapter < AbstractAdapter # Git executable name - GIT_BIN = "git" + GIT_BIN = Redmine::Configuration['scm_command_git'] || "git" def info begin diff --git a/lib/redmine/scm/adapters/mercurial_adapter.rb b/lib/redmine/scm/adapters/mercurial_adapter.rb index bbc4a2d61..f7b5ae9d5 100644 --- a/lib/redmine/scm/adapters/mercurial_adapter.rb +++ b/lib/redmine/scm/adapters/mercurial_adapter.rb @@ -24,7 +24,7 @@ module Redmine class MercurialAdapter < AbstractAdapter # Mercurial executable name - HG_BIN = "hg" + HG_BIN = Redmine::Configuration['scm_command_mercurial'] || "hg" TEMPLATES_DIR = File.dirname(__FILE__) + "/mercurial" TEMPLATE_NAME = "hg-template" TEMPLATE_EXTENSION = "tmpl" diff --git a/lib/redmine/scm/adapters/subversion_adapter.rb b/lib/redmine/scm/adapters/subversion_adapter.rb index b4702cc2e..253fa0b2f 100644 --- a/lib/redmine/scm/adapters/subversion_adapter.rb +++ b/lib/redmine/scm/adapters/subversion_adapter.rb @@ -24,7 +24,7 @@ module Redmine class SubversionAdapter < AbstractAdapter # SVN executable name - SVN_BIN = "svn" + SVN_BIN = Redmine::Configuration['scm_command_subversion'] || "svn" class << self def client_version