Skip to content


Subversion checkout URL

You can clone with
Download ZIP


FileWrapper.fullpath fails on Windows #60

raghurajah opened this Issue · 6 comments

5 participants


FileWrapper.fullpath expects root to start with a '/'. In windows this fails because root path starts with a 'drive-letter:'

      def fullpath
        raise "#{root}, #{path}" unless root =~ /^\//
        File.join(root, path)

Have you tried forking and removing that line? :) Because I did remove the screw-all-windows-devs line and it worked for me.


For those of us who are Windows-challenged, what's the correct fix? Something like:

      def fullpath
        raise "#{root}, #{path}" unless root =~ /^(\/|[a-zA-Z]:\\)/
        File.join(root, path)

We're really not trying to screw all Windows devs on purpose ;)

@dudleyf dudleyf referenced this issue from a commit in dudleyf/rake-pipeline
@dudleyf dudleyf Fix FileWrapper#fullpath for Windows. Closes #60. 0662e1f
@dudleyf dudleyf closed this in 7c525b4

I was getting this issue on Windows, and when I went into the file_wrapper.rb file, the above fix was present in my installed version of file_wrapper.rb:

raise "#{root}, #{path}" unless root =~ /^(\/|[a-zA-Z]:\\)/

But I was still getting an error, as fullpath at that time is not defined in Ruby as, for example, C:\, but instead as c:/. I did the following to the line and am now able to build:

raise "#{root}, #{path}" unless root =~ /^(\/|[a-zA-Z]:\/)/

Note the use of a forward slash instead of a back slash on the end of the windows portion of the regex.

Would you like me to issue a pull request?

@dudleyf dudleyf reopened this

@blargity Sure, that would be great, thanks.


+1 (Sorry for the plus one, but it lets me know when this is fixed)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.