As mentioned in PUP-4866 & PUP-6152, there is support for using long file names greater than 260 characters in Windows by using the "\\?\" prefix.
Unfortunately, this doesn't quite work with Ruby's normal file path handling, as it also uses "/" on Windows as the path separator, and this needs to be converted to "\" for the "\\?\" prefix to work. Because of the requirement to translate "/" to "\" on the final file path for the "\\?\" LFN prefix to work, we should probably be putting the LFN support directly in to Puppet::FileSystem::Windows, and making sure that we are not using the native Ruby file path handling methods (Eg: File.expand_path, File.join, etc.) anywhere, and are using the Puppet::FileSystem versions instead.
|