AcademySoftwareFoundation / rez

An integrated package configuration, build and deployment system for software
https://rez.readthedocs.io
Apache License 2.0
921 stars 329 forks source link

rez-cp failing due to hardlinks being disabled at destination #1700

Closed garrett-wbpa closed 3 months ago

garrett-wbpa commented 3 months ago

Hello,

I'm attempting to use rez-cp to push rez packages from multiple OS's to our shared SMB share. The SMB share has hardlinks disabled to allow for Windows support, and as such rez-cp is failing when trying to create a LinkLockFile on the network share. Is it possible to have a way for me to disable LinkLockFiles at execution time, like an environment variable or rez-config entry?

Environment

To Reproduce

  1. Have a network share that disabled hardlinks
  2. rez-cp --dest-path /that/share package
  3. Look for error when the hardlink creation times out.

Expected behavior I'd like to be able to rez-cp files to our share to handle the various package.py variant definitions without having to copy the repo local, install my variant, and copy the whole thing back (although rsync helps a lot here).

Actual behavior I run rez-cp to my network share and am met with a timeout error when the hardlink creation fails.

garrett-wbpa commented 3 months ago

Apologies, the rez-config system allows me to force the mkdir lockfiles and I've confirmed that it fixed my repro case.

JeanChristopheMorinPerso commented 3 months ago

No problem at all. It's not even documented, so it's our fault for not making this more obvious.

garrett-wbpa commented 3 months ago

It happens. I found something else, so lmk if I should make a new ticket but I should check for user error again probably. I've set "use_variant_shortlinks=false" in my config and Windows is still trying to create those shortlinks anyway when using rez-cp. The hardlink issue is fixed, so I'm passing REZ_CONFIG_FILE properly. rez-cp still copies the variant, so the issue is a warning at most.

JeanChristopheMorinPerso commented 3 months ago

You can open a new issue as it seems unrelated.