diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-12-15 12:14:40 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-12-15 12:14:40 +0000 |
commit | ea35fff5bf4dde17fe67320118a9b73da31a81c2 (patch) | |
tree | dda52c3fb6928b7d81660d69234331d67f3dbf30 | |
parent | 124ef65c1fd2c7174452ef80ebb52d4cdc99e80a (diff) | |
download | redmine-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.rb | 12 | ||||
-rw-r--r-- | lib/redmine/scm/adapters/bazaar_adapter.rb | 14 | ||||
-rw-r--r-- | lib/redmine/scm/adapters/cvs_adapter.rb | 10 | ||||
-rw-r--r-- | lib/redmine/scm/adapters/darcs_adapter.rb | 8 | ||||
-rw-r--r-- | lib/redmine/scm/adapters/mercurial_adapter.rb | 13 | ||||
-rw-r--r-- | lib/redmine/scm/adapters/subversion_adapter.rb | 12 |
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
|