You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@whimsical.apache.org by se...@apache.org on 2020/06/12 15:54:12 UTC
[whimsy] branch master updated: Avoid Dir.chdir
This is an automated email from the ASF dual-hosted git repository.
sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/whimsy.git
The following commit(s) were added to refs/heads/master by this push:
new a4dcc3a Avoid Dir.chdir
a4dcc3a is described below
commit a4dcc3aa303523e02ecaaf3de868e5d2621e8f6a
Author: Sebb <se...@apache.org>
AuthorDate: Fri Jun 12 16:54:03 2020 +0100
Avoid Dir.chdir
See: https://ruby-doc.org/core-2.6.3/Dir.html#method-c-chdir
Can throw error in multi-threaded program, so best avoided
if possible
---
lib/whimsy/asf/git.rb | 7 +++----
lib/whimsy/asf/svn.rb | 8 +++-----
2 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/lib/whimsy/asf/git.rb b/lib/whimsy/asf/git.rb
index 0f2b48e..60399a4 100644
--- a/lib/whimsy/asf/git.rb
+++ b/lib/whimsy/asf/git.rb
@@ -53,12 +53,11 @@ module ASF
@@repository_entries = YAML.load_file(REPOSITORY)
@repos = Hash[Dir[*git].map { |name|
- next unless Dir.exist? name.untaint
- Dir.chdir name.untaint do
+ if Dir.exist? name.untaint
out, _, status =
- Open3.capture3(*%(git config --get remote.origin.url))
+ Open3.capture3(*%(git config --get remote.origin.url), {chdir: name})
if status.success?
- [File.basename(out.chomp, '.git'), Dir.pwd.untaint]
+ [File.basename(out.chomp, '.git'), name]
end
end
}.compact]
diff --git a/lib/whimsy/asf/svn.rb b/lib/whimsy/asf/svn.rb
index 5b7b657..811d989 100644
--- a/lib/whimsy/asf/svn.rb
+++ b/lib/whimsy/asf/svn.rb
@@ -43,12 +43,10 @@ module ASF
@@repository_entries = YAML.load_file(REPOSITORY)
@repos = Hash[Dir[*svn].map { |name|
- next unless Dir.exist? name.untaint
- # TODO not sure why chdir is necessary here; it looks like svn info can handle soft links OK
- Dir.chdir name.untaint do
- out, err = self.getInfoItem('.','url') # svn() checks for path...
+ if Dir.exist? name.untaint
+ out, _ = self.getInfoItem(name, 'url')
if out
- [out.sub(/^http:/,'https:'), Dir.pwd.untaint]
+ [out.sub(/^http:/,'https:'), name]
end
end
}.compact]