Skip to content

Windows: Repository mismatch with mounted network drives #2045

@dominiquekwiek

Description

@dominiquekwiek

I am experiencing the same issue reported in #957 where my mounted network drive is causing a location mismatch error when using Rez on Windows.

Repro:

from rez.resolved_context import ResolvedContext
any(p.is_local for p in ResolvedContext.get_current().resolved_packages)

Error:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 1, in <genexpr>
  File "n:\software\rez\os-windows-10.0.19045\packages\rez\3.2.1\platform-windows\arch-AMD64\os-windows-10.0\rez\utils\data_utils.py", line 244, in __get__
    result = self.func(instance)
             ^^^^^^^^^^^^^^^^^^^
  File "n:\software\rez\os-windows-10.0.19045\packages\rez\3.2.1\platform-windows\arch-AMD64\os-windows-10.0\rez\packages.py", line 108, in is_local
    self.config.local_packages_path)
    ^^^^^^^^^^^
  File "n:\software\rez\os-windows-10.0.19045\packages\rez\3.2.1\platform-windows\arch-AMD64\os-windows-10.0\rez\packages.py", line 102, in config
    return self.resource.config or config
           ^^^^^^^^^^^^^^^^^^^^
  File "n:\software\rez\os-windows-10.0.19045\packages\rez\3.2.1\platform-windows\arch-AMD64\os-windows-10.0\rez\utils\data_utils.py", line 555, in func
    value = getattr(self.wrapped, key, None)
                    ^^^^^^^^^^^^
  File "n:\software\rez\os-windows-10.0.19045\packages\rez\3.2.1\platform-windows\arch-AMD64\os-windows-10.0\rez\package_resources.py", line 519, in wrapped
    return self.parent
           ^^^^^^^^^^^
  File "n:\software\rez\os-windows-10.0.19045\packages\rez\3.2.1\platform-windows\arch-AMD64\os-windows-10.0\rez\utils\data_utils.py", line 244, in __get__
    result = self.func(instance)
             ^^^^^^^^^^^^^^^^^^^
  File "n:\software\rez\os-windows-10.0.19045\packages\rez\3.2.1\platform-windows\arch-AMD64\os-windows-10.0\rezplugins\package_repository\filesystem.py", line 272, in parent
    package = self._repository.get_resource(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "n:\software\rez\os-windows-10.0.19045\packages\rez\3.2.1\platform-windows\arch-AMD64\os-windows-10.0\rez\package_repository.py", line 465, in get_resource
    handle = self.make_resource_handle(resource_key, **variables)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "n:\software\rez\os-windows-10.0.19045\packages\rez\3.2.1\platform-windows\arch-AMD64\os-windows-10.0\rez\package_repository.py", line 443, in make_resource_handle  
    raise ResourceError("location mismatch - requested %r, repository "
rez.exceptions.ResourceError: location mismatch - requested 'n:\\network\\rez\\os-windows-10.0.19045\\packages', repository location is '\\\\mount-location\\software\\rez\\os-windows-10.0.19045\\packages'

It seems the fix for this to use canonical_path proposed in https://github.com/AcademySoftwareFoundation/rez/pull/957/files was rolled back in 72d3771. Is there any workaround I can use for this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions