summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2007-12-15 12:14:40 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2007-12-15 12:14:40 +0000
commitea35fff5bf4dde17fe67320118a9b73da31a81c2 (patch)
treedda52c3fb6928b7d81660d69234331d67f3dbf30
parent124ef65c1fd2c7174452ef80ebb52d4cdc99e80a (diff)
downloadredmine-ea35fff5bf4dde17fe67320118a9b73da31a81c2.tar.gz
redmine-ea35fff5bf4dde17fe67320118a9b73da31a81c2.zip
SCM adapters: moved Errno::ENOENT exception rescuing to the abstract adapter.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1001 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--lib/redmine/scm/adapters/abstract_adapter.rb12
-rw-r--r--lib/redmine/scm/adapters/bazaar_adapter.rb14
-rw-r--r--lib/redmine/scm/adapters/cvs_adapter.rb10
-rw-r--r--lib/redmine/scm/adapters/darcs_adapter.rb8
-rw-r--r--lib/redmine/scm/adapters/mercurial_adapter.rb13
-rw-r--r--lib/redmine/scm/adapters/subversion_adapter.rb12
6 files changed, 14 insertions, 55 deletions
diff --git a/lib/redmine/scm/adapters/abstract_adapter.rb b/lib/redmine/scm/adapters/abstract_adapter.rb
index 720a4e9d9..c93fc6350 100644
--- a/lib/redmine/scm/adapters/abstract_adapter.rb
+++ b/lib/redmine/scm/adapters/abstract_adapter.rb
@@ -112,9 +112,15 @@ module Redmine
def shellout(cmd, &block)
logger.debug "Shelling out: #{cmd}" if logger && logger.debug?
- IO.popen(cmd, "r+") do |io|
- io.close_write
- block.call(io) if block_given?
+ begin
+ IO.popen(cmd, "r+") do |io|
+ io.close_write
+ block.call(io) if block_given?
+ end
+ rescue Errno::ENOENT => e
+ # The command failed, log it and re-raise
+ log.error("SCM command failed: #{cmd}\n with: #{e.message}")
+ raise CommandFailed
end
end
end
diff --git a/lib/redmine/scm/adapters/bazaar_adapter.rb b/lib/redmine/scm/adapters/bazaar_adapter.rb
index 4d7afeacc..11a44b7cf 100644
--- a/lib/redmine/scm/adapters/bazaar_adapter.rb
+++ b/lib/redmine/scm/adapters/bazaar_adapter.rb
@@ -40,7 +40,7 @@ module Redmine
end
return nil if $? && $?.exitstatus != 0
info
- rescue Errno::ENOENT => e
+ rescue CommandFailed
return nil
end
@@ -81,8 +81,6 @@ module Redmine
return nil if $? && $?.exitstatus != 0
logger.debug("Found #{entries.size} entries in the repository for #{target(path)}") if logger && logger.debug?
entries.sort_by_name
- rescue Errno::ENOENT => e
- raise CommandFailed
end
def revisions(path=nil, identifier_from=nil, identifier_to=nil, options={})
@@ -144,8 +142,6 @@ module Redmine
end
return nil if $? && $?.exitstatus != 0
revisions
- rescue Errno::ENOENT => e
- raise CommandFailed
end
def diff(path, identifier_from, identifier_to=nil, type="inline")
@@ -163,9 +159,7 @@ module Redmine
end
end
#return nil if $? && $?.exitstatus != 0
- DiffTableList.new diff, type
- rescue Errno::ENOENT => e
- raise CommandFailed
+ DiffTableList.new diff, type
end
def cat(path, identifier=nil)
@@ -179,8 +173,6 @@ module Redmine
end
return nil if $? && $?.exitstatus != 0
cat
- rescue Errno::ENOENT => e
- raise CommandFailed
end
def annotate(path, identifier=nil)
@@ -198,8 +190,6 @@ module Redmine
end
return nil if $? && $?.exitstatus != 0
blame
- rescue Errno::ENOENT => e
- raise CommandFailed
end
end
end
diff --git a/lib/redmine/scm/adapters/cvs_adapter.rb b/lib/redmine/scm/adapters/cvs_adapter.rb
index 5c6c1775b..73dc9b6c4 100644
--- a/lib/redmine/scm/adapters/cvs_adapter.rb
+++ b/lib/redmine/scm/adapters/cvs_adapter.rb
@@ -103,8 +103,6 @@ module Redmine
end
return nil if $? && $?.exitstatus != 0
entries.sort_by_name
- rescue Errno::ENOENT => e
- raise CommandFailed
end
STARTLOG="----------------------------"
@@ -234,8 +232,6 @@ module Redmine
end
end
end
- rescue Errno::ENOENT => e
- raise CommandFailed
end
def diff(path, identifier_from, identifier_to=nil, type="inline")
@@ -250,8 +246,6 @@ module Redmine
end
return nil if $? && $?.exitstatus != 0
DiffTableList.new diff, type
- rescue Errno::ENOENT => e
- raise CommandFailed
end
def cat(path, identifier=nil)
@@ -265,8 +259,6 @@ module Redmine
end
return nil if $? && $?.exitstatus != 0
cat
- rescue Errno::ENOENT => e
- raise CommandFailed
end
def annotate(path, identifier=nil)
@@ -283,8 +275,6 @@ module Redmine
end
return nil if $? && $?.exitstatus != 0
blame
- rescue Errno::ENOENT => e
- raise CommandFailed
end
private
diff --git a/lib/redmine/scm/adapters/darcs_adapter.rb b/lib/redmine/scm/adapters/darcs_adapter.rb
index 34b36202b..2955b26dc 100644
--- a/lib/redmine/scm/adapters/darcs_adapter.rb
+++ b/lib/redmine/scm/adapters/darcs_adapter.rb
@@ -70,8 +70,6 @@ module Redmine
end
return nil if $? && $?.exitstatus != 0
entries.sort_by_name
- rescue Errno::ENOENT => e
- raise CommandFailed
end
def revisions(path=nil, identifier_from=nil, identifier_to=nil, options={})
@@ -99,8 +97,6 @@ module Redmine
end
return nil if $? && $?.exitstatus != 0
revisions
- rescue Errno::ENOENT => e
- raise CommandFailed
end
def diff(path, identifier_from, identifier_to=nil, type="inline")
@@ -117,8 +113,6 @@ module Redmine
end
return nil if $? && $?.exitstatus != 0
DiffTableList.new diff, type
- rescue Errno::ENOENT => e
- raise CommandFailed
end
private
@@ -154,7 +148,7 @@ module Redmine
end
end
paths
- rescue Errno::ENOENT => e
+ rescue CommandFailed
paths
end
end
diff --git a/lib/redmine/scm/adapters/mercurial_adapter.rb b/lib/redmine/scm/adapters/mercurial_adapter.rb
index 3cbf01f91..1b9cab47c 100644
--- a/lib/redmine/scm/adapters/mercurial_adapter.rb
+++ b/lib/redmine/scm/adapters/mercurial_adapter.rb
@@ -36,7 +36,7 @@ module Redmine
:lastrev => revisions(nil,nil,nil,{:limit => 1}).last
})
info
- rescue Errno::ENOENT => e
+ rescue CommandFailed
return nil
end
@@ -58,8 +58,6 @@ module Redmine
end
return nil if $? && $?.exitstatus != 0
entries.sort_by_name
- rescue Errno::ENOENT => e
- raise CommandFailed
end
def entry(path=nil, identifier=nil)
@@ -119,8 +117,6 @@ module Redmine
end
return nil if $? && $?.exitstatus != 0
revisions
- rescue Errno::ENOENT => e
- raise CommandFailed
end
def diff(path, identifier_from, identifier_to=nil, type="inline")
@@ -140,9 +136,6 @@ module Redmine
end
return nil if $? && $?.exitstatus != 0
DiffTableList.new diff, type
-
- rescue Errno::ENOENT => e
- raise CommandFailed
end
def cat(path, identifier=nil)
@@ -154,8 +147,6 @@ module Redmine
end
return nil if $? && $?.exitstatus != 0
cat
- rescue Errno::ENOENT => e
- raise CommandFailed
end
def annotate(path, identifier=nil)
@@ -173,8 +164,6 @@ module Redmine
end
return nil if $? && $?.exitstatus != 0
blame
- rescue Errno::ENOENT => e
- raise CommandFailed
end
end
end
diff --git a/lib/redmine/scm/adapters/subversion_adapter.rb b/lib/redmine/scm/adapters/subversion_adapter.rb
index d55b8712e..f698f4a62 100644
--- a/lib/redmine/scm/adapters/subversion_adapter.rb
+++ b/lib/redmine/scm/adapters/subversion_adapter.rb
@@ -47,7 +47,7 @@ module Redmine
end
return nil if $? && $?.exitstatus != 0
info
- rescue Errno::ENOENT => e
+ rescue CommandFailed
return nil
end
@@ -91,8 +91,6 @@ module Redmine
return nil if $? && $?.exitstatus != 0
logger.debug("Found #{entries.size} entries in the repository for #{target(path)}") if logger && logger.debug?
entries.sort_by_name
- rescue Errno::ENOENT => e
- raise CommandFailed
end
def revisions(path=nil, identifier_from=nil, identifier_to=nil, options={})
@@ -130,8 +128,6 @@ module Redmine
end
return nil if $? && $?.exitstatus != 0
revisions
- rescue Errno::ENOENT => e
- raise CommandFailed
end
def diff(path, identifier_from, identifier_to=nil, type="inline")
@@ -154,8 +150,6 @@ module Redmine
end
return nil if $? && $?.exitstatus != 0
DiffTableList.new diff, type
- rescue Errno::ENOENT => e
- raise CommandFailed
end
def cat(path, identifier=nil)
@@ -169,8 +163,6 @@ module Redmine
end
return nil if $? && $?.exitstatus != 0
cat
- rescue Errno::ENOENT => e
- raise CommandFailed
end
def annotate(path, identifier=nil)
@@ -186,8 +178,6 @@ module Redmine
end
return nil if $? && $?.exitstatus != 0
blame
- rescue Errno::ENOENT => e
- raise CommandFailed
end
private