Project

General

Profile

Bug #4403

require command loads file twice when required symlink or file under directory which is symlink (symbolic link)

Added by rupert (Robert Pankowecki) over 9 years ago. Updated almost 8 years ago.

Status:
Rejected
Priority:
Normal
Target version:
ruby -v:
ruby 1.9.2p136 (2010-12-25 revision 30365) [i686-linux]
Backport:
[ruby-core:35262]

Description

=begin
Consider this file structure:

~/test/symbolic > tree
.
|-- a
| -- a.rb
|-- b -> a
|-- c.rb
-- d.rb -> c.rb

Current behavior:

ruby-1.9.2-p136 :001 > require './c'
=> true
ruby-1.9.2-p136 :002 > require './d'
./d.rb:1: warning: already initialized constant CON2
=> true
ruby-1.9.2-p136 :003 > require './a/a'
=> true
ruby-1.9.2-p136 :004 > require './b/a'
./b/a.rb:1: warning: already initialized constant CON
=> true

Expected behavior:

ruby-1.9.2-p136 :001 > require './c'
=> true
ruby-1.9.2-p136 :002 > require './d'
=> false
ruby-1.9.2-p136 :003 > require './a/a'
=> true
ruby-1.9.2-p136 :004 > require './b/a'
=> false

This bug can be reproduced at Ruby 1.8.7, too.
=end

Also available in: Atom PDF