Junction addon directories have their contents nuked when loadin preferences from previous version #99766

Open
opened 2022-07-16 13:27:58 +02:00 by Martin · 31 comments

System Information
Operating system: Windows 10 x64
Graphics card: NVIDIA GTX 1080

Blender Version
Broken: 3.2.1
Worked: never

Short description of error
When an addon is present in form of a junction, Blender will nuke files and folders in the linked directory in certain situations.
These instructions are specific to the scenario in which I encountered the problem (Moving to new Blender version when debugging Blender addon using Blender VsCode extension ). There probably exist other constellations which cause similar problems related to junctions.

Exact steps for others to reproduce the error

  • Make sure %APPDATA%\Blender Foundation\Blender\3.0\config exists; if necessary, run Blender 3.0.0 once so it is created.
  • Make sure %APPDATA%\Blender Foundation\Blender\3.2\config does not exist
  • Make sure path %APPDATA%\Blender Foundation\Blender\3.2\scripts\addons exists
  • run command mklink /J "%APPDATA%\Blender Foundation\Blender\3.2\scripts\addons\myaddon" "path-to-directory-that-will-be-destroyed"
  • run command mklink /J "%APPDATA%\Blender Foundation\Blender\3.0\scripts\addons\myaddon" "path-to-directory-that-will-be-destroyed"
  • Launch Blender 3.2.1.

In first-time setup splash screen, click "Load 3.0 Settings".

After this, every file in the folder structure of path-to-directory-that-will-be-destroyed will be truncated to 0 bytes in size.

Perhaps it would even be sufficient for the 3.0 addons directory to contain a normal directory by the same name as the junction in the 3.2 addons directory instead of having to also be a junction itself.

A mitigated variant of this problem is encountered when using the addon "Remove" button of an addon in the addon preferences window, where only an OSError is thrown.

**System Information** Operating system: Windows 10 x64 Graphics card: NVIDIA GTX 1080 **Blender Version** Broken: 3.2.1 Worked: never **Short description of error** When an addon is present in form of a junction, Blender will nuke files and folders in the linked directory in certain situations. These instructions are specific to the scenario in which I encountered the problem (Moving to new Blender version when debugging Blender addon using [Blender VsCode extension ](https://github.com/JacquesLucke/blender_vscode)). There probably exist other constellations which cause similar problems related to junctions. **Exact steps for others to reproduce the error** - Make sure `%APPDATA%\Blender Foundation\Blender\3.0\config` exists; if necessary, run Blender 3.0.0 once so it is created. - Make sure `%APPDATA%\Blender Foundation\Blender\3.2\config` does not exist - Make sure path `%APPDATA%\Blender Foundation\Blender\3.2\scripts\addons` exists - run command `mklink /J "%APPDATA%\Blender Foundation\Blender\3.2\scripts\addons\myaddon" "path-to-directory-that-will-be-destroyed"` - run command `mklink /J "%APPDATA%\Blender Foundation\Blender\3.0\scripts\addons\myaddon" "path-to-directory-that-will-be-destroyed"` - Launch Blender 3.2.1. # In first-time setup splash screen, click "Load 3.0 Settings". After this, every file in the folder structure of `path-to-directory-that-will-be-destroyed` will be truncated to 0 bytes in size. Perhaps it would even be sufficient for the 3.0 `addons` directory to contain a normal directory by the same name as the junction in the 3.2 `addons` directory instead of having to also be a junction itself. A mitigated variant of this problem is encountered when using the addon "Remove" button of an addon in the addon preferences window, where only an OSError is thrown.
Author

Added subscriber: @zyl

Added subscriber: @zyl
Member

Added subscriber: @OmarEmaraDev

Added subscriber: @OmarEmaraDev
Member

Changed status from 'Needs Triage' to: 'Needs User Info'

Changed status from 'Needs Triage' to: 'Needs User Info'
Member

Can you show reproduction steps without VS Code or the linked VS Code extension? Maybe demonstrate it using the remove addon button as you described?
I am not on Windows, so can't reproduce, But I suspect the following lines in the operation can explain the behavior:

        import shutil
        if isdir and (not os.path.islink(path)):
            shutil.rmtree(path)
        else:
            os.remove(path)

Which behaves differently on Windows.

Can you show reproduction steps without VS Code or the linked VS Code extension? Maybe demonstrate it using the remove addon button as you described? I am not on Windows, so can't reproduce, But I suspect the following lines in the operation can explain the behavior: ``` import shutil if isdir and (not os.path.islink(path)): shutil.rmtree(path) else: os.remove(path) ``` Which behaves differently on Windows.
Author

Seems that the behavior of the "Remove addon"-button has been changed at some point. Since at least 3.0.0 this causes "OSError: Cannot call rmtree on a symbolic link" and only disables the addon, which already is much less critical than it was in former versions. (Probably should be improved to just remove the symlink instead)

So that leaves only the splash screen "Load 3.0 Settings"-button to copy settings from previous installation as main culprit.

image.png

I deleted %APPDATA%\Blender Foundation\Blender\3.2 directory and tried again. Things are fine if I don't click the button. So I tried deleting only C:\Users\Zyl\AppData\Roaming\Blender Foundation\Blender\3.2\config and now the dialog will show again when starting Blender, again showing the button which causes bad things to happen when clicked.

Clicking the button then causes all of the bad stuff to happen and prints this to console:

Traceback (most recent call last):
  File "D:\blender-3.2.1-windows-x64\3.2\scripts\startup\bl_operators\userpref.py", line 132, in execute
    shutil.copytree(self._old_path(), self._new_path(), dirs_exist_ok=True, symlinks=True)
  File "D:\blender-3.2.1-windows-x64\3.2\python\lib\shutil.py", line 556, in copytree
    return _copytree(entries=entries, src=src, dst=dst, symlinks=symlinks,
  File "D:\blender-3.2.1-windows-x64\3.2\python\lib\shutil.py", line 512, in _copytree
    raise Error(errors)
shutil.Error: [('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\17\\ce640b8dbecd37f226f6022db8f0bd66e4aa81', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\17\\ce640b8dbecd37f226f6022db8f0bd66e4aa81', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\17\\\\ce640b8dbecd37f226f6022db8f0bd66e4aa81'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\24\\ddcbd39c1bad215a142c8918f6ba460ef82ca9', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\24\\ddcbd39c1bad215a142c8918f6ba460ef82ca9', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\24\\\\ddcbd39c1bad215a142c8918f6ba460ef82ca9'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\2d\\583665366c40ec3aebb9a9d2f0e6d2e116a95e', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\2d\\583665366c40ec3aebb9a9d2f0e6d2e116a95e', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\2d\\\\583665366c40ec3aebb9a9d2f0e6d2e116a95e'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\32\\de80fc6b2e27ae8e316f707055d963c1776d09', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\32\\de80fc6b2e27ae8e316f707055d963c1776d09', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\32\\\\de80fc6b2e27ae8e316f707055d963c1776d09'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\33\\9c62d90d036775d450c7771fa71129ea84a329', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\33\\9c62d90d036775d450c7771fa71129ea84a329', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\33\\\\9c62d90d036775d450c7771fa71129ea84a329'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\34\\b1c32dbe1061409473d38a7a24d685ce3dd4a4', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\34\\b1c32dbe1061409473d38a7a24d685ce3dd4a4', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\34\\\\b1c32dbe1061409473d38a7a24d685ce3dd4a4'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\41\\38e40c6dc4b2c20afad17724044e62a99f53c0', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\41\\38e40c6dc4b2c20afad17724044e62a99f53c0', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\41\\\\38e40c6dc4b2c20afad17724044e62a99f53c0'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\49\\e93c8da5dfd436cf81809d895bae4b3283ab57', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\49\\e93c8da5dfd436cf81809d895bae4b3283ab57', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\49\\\\e93c8da5dfd436cf81809d895bae4b3283ab57'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\52\\64d5ab10d2756d748a918b6f202a6e7a70a098', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\52\\64d5ab10d2756d748a918b6f202a6e7a70a098', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\52\\\\64d5ab10d2756d748a918b6f202a6e7a70a098'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\59\\fbc7bbc633e73a739468cede1c55aff4f2453d', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\59\\fbc7bbc633e73a739468cede1c55aff4f2453d', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\59\\\\fbc7bbc633e73a739468cede1c55aff4f2453d'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\63\\5f9875f8900cbfb381f29cc20ba89c229311df', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\63\\5f9875f8900cbfb381f29cc20ba89c229311df', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\63\\\\5f9875f8900cbfb381f29cc20ba89c229311df'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\67\\a4b74d6d31dc797a01507c09208ab2da7e4ee4', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\67\\a4b74d6d31dc797a01507c09208ab2da7e4ee4', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\67\\\\a4b74d6d31dc797a01507c09208ab2da7e4ee4'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\6b\\140e29783af32f616f72e33b7714314b072957', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\6b\\140e29783af32f616f72e33b7714314b072957', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\6b\\\\140e29783af32f616f72e33b7714314b072957'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\70\\211278abd90be19353206ef39d21049f68043b', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\70\\211278abd90be19353206ef39d21049f68043b', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\70\\\\211278abd90be19353206ef39d21049f68043b'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\82\\f8ae38a10820e71ad0510158f29d943b18da3c', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\82\\f8ae38a10820e71ad0510158f29d943b18da3c', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\82\\\\f8ae38a10820e71ad0510158f29d943b18da3c'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\90\\a807d8018f49bc73e4ec2353cc7dd6a9f2340d', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\90\\a807d8018f49bc73e4ec2353cc7dd6a9f2340d', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\90\\\\a807d8018f49bc73e4ec2353cc7dd6a9f2340d'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\95\\3644a831d8b695344c8f7969789cff0d6bfabe', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\95\\3644a831d8b695344c8f7969789cff0d6bfabe', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\95\\\\3644a831d8b695344c8f7969789cff0d6bfabe'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\97\\9a608579c5630f3c4f725db470284c6bb15ea5', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\97\\9a608579c5630f3c4f725db470284c6bb15ea5', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\97\\\\9a608579c5630f3c4f725db470284c6bb15ea5'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\a0\\2d876fafbadb82f3e06a8a4fc4825640ccab46', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\a0\\2d876fafbadb82f3e06a8a4fc4825640ccab46', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\a0\\\\2d876fafbadb82f3e06a8a4fc4825640ccab46'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\a8\\5cae6370dd2e9cbd4608481a9e1839c3e1e507', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\a8\\5cae6370dd2e9cbd4608481a9e1839c3e1e507', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\a8\\\\5cae6370dd2e9cbd4608481a9e1839c3e1e507'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\bc\\259304eac0215dabdaff086ed71992dcbb6a02', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\bc\\259304eac0215dabdaff086ed71992dcbb6a02', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\bc\\\\259304eac0215dabdaff086ed71992dcbb6a02'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\bc\\cbf8722057c120b97858da648b837a48cf274e', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\bc\\cbf8722057c120b97858da648b837a48cf274e', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\bc\\\\cbf8722057c120b97858da648b837a48cf274e'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\bc\\d42b157efdd9cf4d39da3a345da2424dd4d079', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\bc\\d42b157efdd9cf4d39da3a345da2424dd4d079', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\bc\\\\d42b157efdd9cf4d39da3a345da2424dd4d079'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\c3\\c61b05f4af333562ca657a612e93404e28811d', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\c3\\c61b05f4af333562ca657a612e93404e28811d', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\c3\\\\c61b05f4af333562ca657a612e93404e28811d'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\d0\\39b8be3b1e0828c3245c79a91588b3a7014271', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\d0\\39b8be3b1e0828c3245c79a91588b3a7014271', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\d0\\\\39b8be3b1e0828c3245c79a91588b3a7014271'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\d9\\588f00fe5cb5c0e87fd277e06159eb840340d6', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\d9\\588f00fe5cb5c0e87fd277e06159eb840340d6', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\d9\\\\588f00fe5cb5c0e87fd277e06159eb840340d6'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\da\\ba488d99cc1ad3873d0ff8a254f5c572957954', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\da\\ba488d99cc1ad3873d0ff8a254f5c572957954', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\da\\\\ba488d99cc1ad3873d0ff8a254f5c572957954'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\de\\1153f2824506379d0127c98e1c6a8e83dc05d7', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\de\\1153f2824506379d0127c98e1c6a8e83dc05d7', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\de\\\\1153f2824506379d0127c98e1c6a8e83dc05d7'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\e7\\faa95495cadf497bd3f572916c92f5c5a25571', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\e7\\faa95495cadf497bd3f572916c92f5c5a25571', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\e7\\\\faa95495cadf497bd3f572916c92f5c5a25571'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\f8\\0daf4bb1bb6ededee6b506bef7f1eb982945ae', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\f8\\0daf4bb1bb6ededee6b506bef7f1eb982945ae', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\f8\\\\0daf4bb1bb6ededee6b506bef7f1eb982945ae'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\pack\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.idx', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\pack\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.idx', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\pack\\\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.idx'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\pack\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.pack', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\pack\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.pack', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\pack\\\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.pack'")]
Error: Python: Traceback (most recent call last):
  File "D:\blender-3.2.1-windows-x64\3.2\scripts\startup\bl_operators\userpref.py", line 132, in execute
    shutil.copytree(self._old_path(), self._new_path(), dirs_exist_ok=True, symlinks=True)
  File "D:\blender-3.2.1-windows-x64\3.2\python\lib\shutil.py", line 556, in copytree
    return _copytree(entries=entries, src=src, dst=dst, symlinks=symlinks,
  File "D:\blender-3.2.1-windows-x64\3.2\python\lib\shutil.py", line 512, in _copytree
    raise Error(errors)
shutil.Error: [('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\17\\ce640b8dbecd37f226f6022db8f0bd66e4aa81', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\17\\ce640b8dbecd37f226f6022db8f0bd66e4aa81', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\17\\\\ce640b8dbecd37f226f6022db8f0bd66e4aa81'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\24\\ddcbd39c1bad215a142c8918f6ba460ef82ca9', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\24\\ddcbd39c1bad215a142c8918f6ba460ef82ca9', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\24\\\\ddcbd39c1bad215a142c8918f6ba460ef82ca9'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\2d\\583665366c40ec3aebb9a9d2f0e6d2e116a95e', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\2d\\583665366c40ec3aebb9a9d2f0e6d2e116a95e', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\2d\\\\583665366c40ec3aebb9a9d2f0e6d2e116a95e'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\32\\de80fc6b2e27ae8e316f707055d963c1776d09', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\32\\de80fc6b2e27ae8e316f707055d963c1776d09', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\32\\\\de80fc6b2e27ae8e316f707055d963c1776d09'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\33\\9c62d90d036775d450c7771fa71129ea84a329', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\33\\9c62d90d036775d450c7771fa71129ea84a329', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\33\\\\9c62d90d036775d450c7771fa71129ea84a329'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\34\\b1c32dbe1061409473d38a7a24d685ce3dd4a4', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\34\\b1c32dbe1061409473d38a7a24d685ce3dd4a4', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\34\\\\b1c32dbe1061409473d38a7a24d685ce3dd4a4'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\41\\38e40c6dc4b2c20afad17724044e62a99f53c0', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\41\\38e40c6dc4b2c20afad17724044e62a99f53c0', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\41\\\\38e40c6dc4b2c20afad17724044e62a99f53c0'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\49\\e93c8da5dfd436cf81809d895bae4b3283ab57', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\49\\e93c8da5dfd436cf81809d895bae4b3283ab57', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\49\\\\e93c8da5dfd436cf81809d895bae4b3283ab57'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\52\\64d5ab10d2756d748a918b6f202a6e7a70a098', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\52\\64d5ab10d2756d748a918b6f202a6e7a70a098', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\52\\\\64d5ab10d2756d748a918b6f202a6e7a70a098'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\59\\fbc7bbc633e73a739468cede1c55aff4f2453d', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\59\\fbc7bbc633e73a739468cede1c55aff4f2453d', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\59\\\\fbc7bbc633e73a739468cede1c55aff4f2453d'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\63\\5f9875f8900cbfb381f29cc20ba89c229311df', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\63\\5f9875f8900cbfb381f29cc20ba89c229311df', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\63\\\\5f9875f8900cbfb381f29cc20ba89c229311df'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\67\\a4b74d6d31dc797a01507c09208ab2da7e4ee4', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\67\\a4b74d6d31dc797a01507c09208ab2da7e4ee4', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\67\\\\a4b74d6d31dc797a01507c09208ab2da7e4ee4'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\6b\\140e29783af32f616f72e33b7714314b072957', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\6b\\140e29783af32f616f72e33b7714314b072957', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\6b\\\\140e29783af32f616f72e33b7714314b072957'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\70\\211278abd90be19353206ef39d21049f68043b', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\70\\211278abd90be19353206ef39d21049f68043b', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\70\\\\211278abd90be19353206ef39d21049f68043b'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\82\\f8ae38a10820e71ad0510158f29d943b18da3c', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\82\\f8ae38a10820e71ad0510158f29d943b18da3c', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\82\\\\f8ae38a10820e71ad0510158f29d943b18da3c'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\90\\a807d8018f49bc73e4ec2353cc7dd6a9f2340d', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\90\\a807d8018f49bc73e4ec2353cc7dd6a9f2340d', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\90\\\\a807d8018f49bc73e4ec2353cc7dd6a9f2340d'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\95\\3644a831d8b695344c8f7969789cff0d6bfabe', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\95\\3644a831d8b695344c8f7969789cff0d6bfabe', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\95\\\\3644a831d8b695344c8f7969789cff0d6bfabe'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\97\\9a608579c5630f3c4f725db470284c6bb15ea5', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\97\\9a608579c5630f3c4f725db470284c6bb15ea5', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\97\\\\9a608579c5630f3c4f725db470284c6bb15ea5'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\a0\\2d876fafbadb82f3e06a8a4fc4825640ccab46', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\a0\\2d876fafbadb82f3e06a8a4fc4825640ccab46', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\a0\\\\2d876fafbadb82f3e06a8a4fc4825640ccab46'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\a8\\5cae6370dd2e9cbd4608481a9e1839c3e1e507', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\a8\\5cae6370dd2e9cbd4608481a9e1839c3e1e507', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\a8\\\\5cae6370dd2e9cbd4608481a9e1839c3e1e507'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\bc\\259304eac0215dabdaff086ed71992dcbb6a02', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\bc\\259304eac0215dabdaff086ed71992dcbb6a02', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\bc\\\\259304eac0215dabdaff086ed71992dcbb6a02'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\bc\\cbf8722057c120b97858da648b837a48cf274e', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\bc\\cbf8722057c120b97858da648b837a48cf274e', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\bc\\\\cbf8722057c120b97858da648b837a48cf274e'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\bc\\d42b157efdd9cf4d39da3a345da2424dd4d079', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\bc\\d42b157efdd9cf4d39da3a345da2424dd4d079', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\bc\\\\d42b157efdd9cf4d39da3a345da2424dd4d079'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\c3\\c61b05f4af333562ca657a612e93404e28811d', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\c3\\c61b05f4af333562ca657a612e93404e28811d', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\c3\\\\c61b05f4af333562ca657a612e93404e28811d'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\d0\\39b8be3b1e0828c3245c79a91588b3a7014271', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\d0\\39b8be3b1e0828c3245c79a91588b3a7014271', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\d0\\\\39b8be3b1e0828c3245c79a91588b3a7014271'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\d9\\588f00fe5cb5c0e87fd277e06159eb840340d6', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\d9\\588f00fe5cb5c0e87fd277e06159eb840340d6', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\d9\\\\588f00fe5cb5c0e87fd277e06159eb840340d6'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\da\\ba488d99cc1ad3873d0ff8a254f5c572957954', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\da\\ba488d99cc1ad3873d0ff8a254f5c572957954', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\da\\\\ba488d99cc1ad3873d0ff8a254f5c572957954'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\de\\1153f2824506379d0127c98e1c6a8e83dc05d7', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\de\\1153f2824506379d0127c98e1c6a8e83dc05d7', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\de\\\\1153f2824506379d0127c98e1c6a8e83dc05d7'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\e7\\faa95495cadf497bd3f572916c92f5c5a25571', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\e7\\faa95495cadf497bd3f572916c92f5c5a25571', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\e7\\\\faa95495cadf497bd3f572916c92f5c5a25571'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\f8\\0daf4bb1bb6ededee6b506bef7f1eb982945ae', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\f8\\0daf4bb1bb6ededee6b506bef7f1eb982945ae', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\f8\\\\0daf4bb1bb6ededee6b506bef7f1eb982945ae'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\pack\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.idx', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\pack\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.idx', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\pack\\\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.idx'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\pack\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.pack', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\pack\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.pack', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\pack\\\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.pack'")]

It is worth noting that another addon which also existed in symlinked form in the settings which were copied (but not in the copy target) was copied successfully, in "normal", non-symlinked manner.

Even more interestingly, in a third attempt, I removed the .git directory from the project before clicking the "Load 3.0 Settings" button. In that case, the button throws no error, but still nukes the directory contents.

So, my complete reproduction steps taking the VsCode extension out of the equation would be:

  1. Make sure %APPDATA%\Blender Foundation\Blender\3.0\config exists; if necessary, install and run Blender 3.0.0 once so it is created.
  2. Unpack Blender 3.2.1 portable or install Blender 3.2.1, but do not start it.
  3. Create all directories in path %APPDATA%\Blender Foundation\Blender\3.2\scripts\addons.
  4. In an admin-privileged terminal, run this command to create soft link (Not a hard link. Not a shortcut (.lnk file).):
mklink /D "%APPDATA%\Blender Foundation\Blender\3.2\scripts\addons\myaddon" "path-to-directory-you-do-not-want-to-be-destroyed-but-inevitably-will-be"
  1. Launch previously unpacked/installed Blender 3.2.1.
  2. In first-time setup splash screen, click "Load 3.0 Settings".

I suspect Blender tries to clean up everything before copy, which is in itself not wrong, but contains what causes the problem. Presumably "Remove addon"-button and "Load 3.0 Settings"-button use two different code paths for addon removal functionality.

I believe these behaviors need to be fixed:

  1. "Remove addon"-button should detect soft links and remove them instead of calling rmtree().
  2. "Load X.Y Settings"-button should also detect soft links and remove them instead of whatever other deletion method it currently uses.
  3. "Load X.Y Settings"-button should detect if the addon to be copied is a soft link, and create a soft link in the target as well, instead of copying actual files and folders.

I think it would be better if the VsCode extension was changed to not use soft links, but it's not being developed too actively (I reported the problem there in 2019), so eliminating the problem on the Blender side of things would still be a big win for unsuspecting addon developers.

I also tested os.path.islink() on a soft link:

C:\Users\Zyl\AppData\Roaming\Blender Foundation\Blender\3.0\scripts\addons>python
Python 3.9.10 (tags/v3.9.10:f2f3f53, Jan 17 2022, 15:14:21) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.path.islink("myaddon")

False

It seems they just didn't bother implementing it for Windows, and always return False there. The docs confirm this: https://docs.python.org/3/library/os.path.html#os.path.islink

Always False if symbolic links are not supported by the Python runtime.

https://stackoverflow.com/questions/15258506/os-path-islink-on-windows-with-python has answers proposing alternatives.

Seems that the behavior of the "Remove addon"-button has been changed at some point. Since at least 3.0.0 this causes "OSError: Cannot call rmtree on a symbolic link" and only disables the addon, which already is much less critical than it was in former versions. (Probably should be improved to just remove the symlink instead) So that leaves only the splash screen "Load 3.0 Settings"-button to copy settings from previous installation as main culprit. ![image.png](https://archive.blender.org/developer/F13297490/image.png) I deleted `%APPDATA%\Blender Foundation\Blender\3.2` directory and tried again. Things are fine if I don't click the button. So I tried deleting only `C:\Users\Zyl\AppData\Roaming\Blender Foundation\Blender\3.2\config` and now the dialog will show again when starting Blender, again showing the button which causes bad things to happen when clicked. Clicking the button then causes all of the bad stuff to happen and prints this to console: ``` Traceback (most recent call last): File "D:\blender-3.2.1-windows-x64\3.2\scripts\startup\bl_operators\userpref.py", line 132, in execute shutil.copytree(self._old_path(), self._new_path(), dirs_exist_ok=True, symlinks=True) File "D:\blender-3.2.1-windows-x64\3.2\python\lib\shutil.py", line 556, in copytree return _copytree(entries=entries, src=src, dst=dst, symlinks=symlinks, File "D:\blender-3.2.1-windows-x64\3.2\python\lib\shutil.py", line 512, in _copytree raise Error(errors) shutil.Error: [('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\17\\ce640b8dbecd37f226f6022db8f0bd66e4aa81', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\17\\ce640b8dbecd37f226f6022db8f0bd66e4aa81', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\17\\\\ce640b8dbecd37f226f6022db8f0bd66e4aa81'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\24\\ddcbd39c1bad215a142c8918f6ba460ef82ca9', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\24\\ddcbd39c1bad215a142c8918f6ba460ef82ca9', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\24\\\\ddcbd39c1bad215a142c8918f6ba460ef82ca9'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\2d\\583665366c40ec3aebb9a9d2f0e6d2e116a95e', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\2d\\583665366c40ec3aebb9a9d2f0e6d2e116a95e', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\2d\\\\583665366c40ec3aebb9a9d2f0e6d2e116a95e'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\32\\de80fc6b2e27ae8e316f707055d963c1776d09', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\32\\de80fc6b2e27ae8e316f707055d963c1776d09', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\32\\\\de80fc6b2e27ae8e316f707055d963c1776d09'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\33\\9c62d90d036775d450c7771fa71129ea84a329', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\33\\9c62d90d036775d450c7771fa71129ea84a329', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\33\\\\9c62d90d036775d450c7771fa71129ea84a329'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\34\\b1c32dbe1061409473d38a7a24d685ce3dd4a4', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\34\\b1c32dbe1061409473d38a7a24d685ce3dd4a4', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\34\\\\b1c32dbe1061409473d38a7a24d685ce3dd4a4'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\41\\38e40c6dc4b2c20afad17724044e62a99f53c0', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\41\\38e40c6dc4b2c20afad17724044e62a99f53c0', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\41\\\\38e40c6dc4b2c20afad17724044e62a99f53c0'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\49\\e93c8da5dfd436cf81809d895bae4b3283ab57', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\49\\e93c8da5dfd436cf81809d895bae4b3283ab57', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\49\\\\e93c8da5dfd436cf81809d895bae4b3283ab57'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\52\\64d5ab10d2756d748a918b6f202a6e7a70a098', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\52\\64d5ab10d2756d748a918b6f202a6e7a70a098', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\52\\\\64d5ab10d2756d748a918b6f202a6e7a70a098'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\59\\fbc7bbc633e73a739468cede1c55aff4f2453d', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\59\\fbc7bbc633e73a739468cede1c55aff4f2453d', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\59\\\\fbc7bbc633e73a739468cede1c55aff4f2453d'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\63\\5f9875f8900cbfb381f29cc20ba89c229311df', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\63\\5f9875f8900cbfb381f29cc20ba89c229311df', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\63\\\\5f9875f8900cbfb381f29cc20ba89c229311df'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\67\\a4b74d6d31dc797a01507c09208ab2da7e4ee4', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\67\\a4b74d6d31dc797a01507c09208ab2da7e4ee4', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\67\\\\a4b74d6d31dc797a01507c09208ab2da7e4ee4'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\6b\\140e29783af32f616f72e33b7714314b072957', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\6b\\140e29783af32f616f72e33b7714314b072957', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\6b\\\\140e29783af32f616f72e33b7714314b072957'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\70\\211278abd90be19353206ef39d21049f68043b', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\70\\211278abd90be19353206ef39d21049f68043b', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\70\\\\211278abd90be19353206ef39d21049f68043b'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\82\\f8ae38a10820e71ad0510158f29d943b18da3c', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\82\\f8ae38a10820e71ad0510158f29d943b18da3c', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\82\\\\f8ae38a10820e71ad0510158f29d943b18da3c'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\90\\a807d8018f49bc73e4ec2353cc7dd6a9f2340d', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\90\\a807d8018f49bc73e4ec2353cc7dd6a9f2340d', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\90\\\\a807d8018f49bc73e4ec2353cc7dd6a9f2340d'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\95\\3644a831d8b695344c8f7969789cff0d6bfabe', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\95\\3644a831d8b695344c8f7969789cff0d6bfabe', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\95\\\\3644a831d8b695344c8f7969789cff0d6bfabe'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\97\\9a608579c5630f3c4f725db470284c6bb15ea5', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\97\\9a608579c5630f3c4f725db470284c6bb15ea5', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\97\\\\9a608579c5630f3c4f725db470284c6bb15ea5'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\a0\\2d876fafbadb82f3e06a8a4fc4825640ccab46', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\a0\\2d876fafbadb82f3e06a8a4fc4825640ccab46', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\a0\\\\2d876fafbadb82f3e06a8a4fc4825640ccab46'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\a8\\5cae6370dd2e9cbd4608481a9e1839c3e1e507', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\a8\\5cae6370dd2e9cbd4608481a9e1839c3e1e507', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\a8\\\\5cae6370dd2e9cbd4608481a9e1839c3e1e507'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\bc\\259304eac0215dabdaff086ed71992dcbb6a02', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\bc\\259304eac0215dabdaff086ed71992dcbb6a02', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\bc\\\\259304eac0215dabdaff086ed71992dcbb6a02'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\bc\\cbf8722057c120b97858da648b837a48cf274e', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\bc\\cbf8722057c120b97858da648b837a48cf274e', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\bc\\\\cbf8722057c120b97858da648b837a48cf274e'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\bc\\d42b157efdd9cf4d39da3a345da2424dd4d079', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\bc\\d42b157efdd9cf4d39da3a345da2424dd4d079', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\bc\\\\d42b157efdd9cf4d39da3a345da2424dd4d079'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\c3\\c61b05f4af333562ca657a612e93404e28811d', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\c3\\c61b05f4af333562ca657a612e93404e28811d', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\c3\\\\c61b05f4af333562ca657a612e93404e28811d'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\d0\\39b8be3b1e0828c3245c79a91588b3a7014271', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\d0\\39b8be3b1e0828c3245c79a91588b3a7014271', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\d0\\\\39b8be3b1e0828c3245c79a91588b3a7014271'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\d9\\588f00fe5cb5c0e87fd277e06159eb840340d6', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\d9\\588f00fe5cb5c0e87fd277e06159eb840340d6', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\d9\\\\588f00fe5cb5c0e87fd277e06159eb840340d6'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\da\\ba488d99cc1ad3873d0ff8a254f5c572957954', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\da\\ba488d99cc1ad3873d0ff8a254f5c572957954', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\da\\\\ba488d99cc1ad3873d0ff8a254f5c572957954'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\de\\1153f2824506379d0127c98e1c6a8e83dc05d7', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\de\\1153f2824506379d0127c98e1c6a8e83dc05d7', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\de\\\\1153f2824506379d0127c98e1c6a8e83dc05d7'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\e7\\faa95495cadf497bd3f572916c92f5c5a25571', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\e7\\faa95495cadf497bd3f572916c92f5c5a25571', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\e7\\\\faa95495cadf497bd3f572916c92f5c5a25571'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\f8\\0daf4bb1bb6ededee6b506bef7f1eb982945ae', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\f8\\0daf4bb1bb6ededee6b506bef7f1eb982945ae', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\f8\\\\0daf4bb1bb6ededee6b506bef7f1eb982945ae'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\pack\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.idx', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\pack\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.idx', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\pack\\\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.idx'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\pack\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.pack', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\pack\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.pack', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\pack\\\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.pack'")] Error: Python: Traceback (most recent call last): File "D:\blender-3.2.1-windows-x64\3.2\scripts\startup\bl_operators\userpref.py", line 132, in execute shutil.copytree(self._old_path(), self._new_path(), dirs_exist_ok=True, symlinks=True) File "D:\blender-3.2.1-windows-x64\3.2\python\lib\shutil.py", line 556, in copytree return _copytree(entries=entries, src=src, dst=dst, symlinks=symlinks, File "D:\blender-3.2.1-windows-x64\3.2\python\lib\shutil.py", line 512, in _copytree raise Error(errors) shutil.Error: [('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\17\\ce640b8dbecd37f226f6022db8f0bd66e4aa81', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\17\\ce640b8dbecd37f226f6022db8f0bd66e4aa81', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\17\\\\ce640b8dbecd37f226f6022db8f0bd66e4aa81'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\24\\ddcbd39c1bad215a142c8918f6ba460ef82ca9', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\24\\ddcbd39c1bad215a142c8918f6ba460ef82ca9', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\24\\\\ddcbd39c1bad215a142c8918f6ba460ef82ca9'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\2d\\583665366c40ec3aebb9a9d2f0e6d2e116a95e', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\2d\\583665366c40ec3aebb9a9d2f0e6d2e116a95e', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\2d\\\\583665366c40ec3aebb9a9d2f0e6d2e116a95e'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\32\\de80fc6b2e27ae8e316f707055d963c1776d09', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\32\\de80fc6b2e27ae8e316f707055d963c1776d09', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\32\\\\de80fc6b2e27ae8e316f707055d963c1776d09'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\33\\9c62d90d036775d450c7771fa71129ea84a329', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\33\\9c62d90d036775d450c7771fa71129ea84a329', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\33\\\\9c62d90d036775d450c7771fa71129ea84a329'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\34\\b1c32dbe1061409473d38a7a24d685ce3dd4a4', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\34\\b1c32dbe1061409473d38a7a24d685ce3dd4a4', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\34\\\\b1c32dbe1061409473d38a7a24d685ce3dd4a4'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\41\\38e40c6dc4b2c20afad17724044e62a99f53c0', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\41\\38e40c6dc4b2c20afad17724044e62a99f53c0', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\41\\\\38e40c6dc4b2c20afad17724044e62a99f53c0'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\49\\e93c8da5dfd436cf81809d895bae4b3283ab57', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\49\\e93c8da5dfd436cf81809d895bae4b3283ab57', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\49\\\\e93c8da5dfd436cf81809d895bae4b3283ab57'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\52\\64d5ab10d2756d748a918b6f202a6e7a70a098', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\52\\64d5ab10d2756d748a918b6f202a6e7a70a098', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\52\\\\64d5ab10d2756d748a918b6f202a6e7a70a098'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\59\\fbc7bbc633e73a739468cede1c55aff4f2453d', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\59\\fbc7bbc633e73a739468cede1c55aff4f2453d', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\59\\\\fbc7bbc633e73a739468cede1c55aff4f2453d'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\63\\5f9875f8900cbfb381f29cc20ba89c229311df', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\63\\5f9875f8900cbfb381f29cc20ba89c229311df', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\63\\\\5f9875f8900cbfb381f29cc20ba89c229311df'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\67\\a4b74d6d31dc797a01507c09208ab2da7e4ee4', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\67\\a4b74d6d31dc797a01507c09208ab2da7e4ee4', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\67\\\\a4b74d6d31dc797a01507c09208ab2da7e4ee4'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\6b\\140e29783af32f616f72e33b7714314b072957', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\6b\\140e29783af32f616f72e33b7714314b072957', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\6b\\\\140e29783af32f616f72e33b7714314b072957'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\70\\211278abd90be19353206ef39d21049f68043b', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\70\\211278abd90be19353206ef39d21049f68043b', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\70\\\\211278abd90be19353206ef39d21049f68043b'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\82\\f8ae38a10820e71ad0510158f29d943b18da3c', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\82\\f8ae38a10820e71ad0510158f29d943b18da3c', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\82\\\\f8ae38a10820e71ad0510158f29d943b18da3c'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\90\\a807d8018f49bc73e4ec2353cc7dd6a9f2340d', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\90\\a807d8018f49bc73e4ec2353cc7dd6a9f2340d', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\90\\\\a807d8018f49bc73e4ec2353cc7dd6a9f2340d'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\95\\3644a831d8b695344c8f7969789cff0d6bfabe', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\95\\3644a831d8b695344c8f7969789cff0d6bfabe', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\95\\\\3644a831d8b695344c8f7969789cff0d6bfabe'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\97\\9a608579c5630f3c4f725db470284c6bb15ea5', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\97\\9a608579c5630f3c4f725db470284c6bb15ea5', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\97\\\\9a608579c5630f3c4f725db470284c6bb15ea5'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\a0\\2d876fafbadb82f3e06a8a4fc4825640ccab46', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\a0\\2d876fafbadb82f3e06a8a4fc4825640ccab46', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\a0\\\\2d876fafbadb82f3e06a8a4fc4825640ccab46'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\a8\\5cae6370dd2e9cbd4608481a9e1839c3e1e507', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\a8\\5cae6370dd2e9cbd4608481a9e1839c3e1e507', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\a8\\\\5cae6370dd2e9cbd4608481a9e1839c3e1e507'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\bc\\259304eac0215dabdaff086ed71992dcbb6a02', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\bc\\259304eac0215dabdaff086ed71992dcbb6a02', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\bc\\\\259304eac0215dabdaff086ed71992dcbb6a02'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\bc\\cbf8722057c120b97858da648b837a48cf274e', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\bc\\cbf8722057c120b97858da648b837a48cf274e', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\bc\\\\cbf8722057c120b97858da648b837a48cf274e'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\bc\\d42b157efdd9cf4d39da3a345da2424dd4d079', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\bc\\d42b157efdd9cf4d39da3a345da2424dd4d079', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\bc\\\\d42b157efdd9cf4d39da3a345da2424dd4d079'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\c3\\c61b05f4af333562ca657a612e93404e28811d', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\c3\\c61b05f4af333562ca657a612e93404e28811d', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\c3\\\\c61b05f4af333562ca657a612e93404e28811d'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\d0\\39b8be3b1e0828c3245c79a91588b3a7014271', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\d0\\39b8be3b1e0828c3245c79a91588b3a7014271', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\d0\\\\39b8be3b1e0828c3245c79a91588b3a7014271'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\d9\\588f00fe5cb5c0e87fd277e06159eb840340d6', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\d9\\588f00fe5cb5c0e87fd277e06159eb840340d6', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\d9\\\\588f00fe5cb5c0e87fd277e06159eb840340d6'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\da\\ba488d99cc1ad3873d0ff8a254f5c572957954', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\da\\ba488d99cc1ad3873d0ff8a254f5c572957954', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\da\\\\ba488d99cc1ad3873d0ff8a254f5c572957954'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\de\\1153f2824506379d0127c98e1c6a8e83dc05d7', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\de\\1153f2824506379d0127c98e1c6a8e83dc05d7', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\de\\\\1153f2824506379d0127c98e1c6a8e83dc05d7'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\e7\\faa95495cadf497bd3f572916c92f5c5a25571', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\e7\\faa95495cadf497bd3f572916c92f5c5a25571', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\e7\\\\faa95495cadf497bd3f572916c92f5c5a25571'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\f8\\0daf4bb1bb6ededee6b506bef7f1eb982945ae', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\f8\\0daf4bb1bb6ededee6b506bef7f1eb982945ae', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\f8\\\\0daf4bb1bb6ededee6b506bef7f1eb982945ae'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\pack\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.idx', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\pack\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.idx', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\pack\\\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.idx'"), ('C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.0\\scripts\\addons\\myaddon\\.git\\objects\\pack\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.pack', 'C:\\Users\\Zyl\\AppData\\Roaming\\Blender Foundation\\Blender\\3.2\\scripts\\addons\\myaddon\\.git\\objects\\pack\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.pack', "[Errno 13] Permission denied: 'C:\\\\Users\\\\Zyl\\\\AppData\\\\Roaming\\\\Blender Foundation\\\\Blender\\\\3.2\\\\scripts\\\\addons\\\\myaddon\\\\.git\\\\objects\\\\pack\\\\pack-0702c762affb4bc5282533d3739a5c188e31c0a0.pack'")] ``` It is worth noting that another addon which also existed in symlinked form in the settings which were copied (but not in the copy target) was copied successfully, in "normal", non-symlinked manner. Even more interestingly, in a third attempt, I removed the `.git` directory from the project before clicking the "Load 3.0 Settings" button. In that case, the button throws no error, but still nukes the directory contents. So, my complete reproduction steps taking the VsCode extension out of the equation would be: 1. Make sure `%APPDATA%\Blender Foundation\Blender\3.0\config` exists; if necessary, install and run Blender 3.0.0 once so it is created. 2. Unpack Blender 3.2.1 portable or install Blender 3.2.1, but do not start it. 3. Create all directories in path `%APPDATA%\Blender Foundation\Blender\3.2\scripts\addons`. 4. In an admin-privileged terminal, run this command to create soft link (Not a hard link. Not a shortcut (.lnk file).): ``` mklink /D "%APPDATA%\Blender Foundation\Blender\3.2\scripts\addons\myaddon" "path-to-directory-you-do-not-want-to-be-destroyed-but-inevitably-will-be" ``` 5. Launch previously unpacked/installed Blender 3.2.1. 6. In first-time setup splash screen, click "Load 3.0 Settings". I suspect Blender tries to clean up everything before copy, which is in itself not wrong, but contains what causes the problem. Presumably "Remove addon"-button and "Load 3.0 Settings"-button use two different code paths for addon removal functionality. I believe these behaviors need to be fixed: 1. "Remove addon"-button should detect soft links and remove them instead of calling `rmtree()`. 2. "Load X.Y Settings"-button should also detect soft links and remove them instead of whatever other deletion method it currently uses. 3. "Load X.Y Settings"-button should detect if the addon to be copied is a soft link, and create a soft link in the target as well, instead of copying actual files and folders. I think it would be better if the VsCode extension was changed to not use soft links, but it's not being developed too actively (I reported the problem there in 2019), so eliminating the problem on the Blender side of things would still be a big win for unsuspecting addon developers. I also tested `os.path.islink()` on a soft link: ``` C:\Users\Zyl\AppData\Roaming\Blender Foundation\Blender\3.0\scripts\addons>python Python 3.9.10 (tags/v3.9.10:f2f3f53, Jan 17 2022, 15:14:21) [MSC v.1929 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import os >>> os.path.islink("myaddon") False ``` It seems they just didn't bother implementing it for Windows, and always return `False` there. The docs confirm this: https://docs.python.org/3/library/os.path.html#os.path.islink > Always `False` if symbolic links are not supported by the Python runtime. https://stackoverflow.com/questions/15258506/os-path-islink-on-windows-with-python has answers proposing alternatives.
Member

Changed status from 'Needs User Info' to: 'Needs Triage'

Changed status from 'Needs User Info' to: 'Needs Triage'
Member

I tried to do synthetic tests on Linux but failed to reproduce the issue, so I will leave this to someone on Windows.

I tried to do synthetic tests on Linux but failed to reproduce the issue, so I will leave this to someone on Windows.

Added subscriber: @iss

Added subscriber: @iss

Changed status from 'Needs Triage' to: 'Needs User Info'

Changed status from 'Needs Triage' to: 'Needs User Info'

@zyl I was unable to reproduce this issue.

Is using admin-privileged terminal in step 4 necessary to reproduce? I assumed it's not as it would be quite strange. But perhaps it is important to run Blender with admin rights?

@zyl I was unable to reproduce this issue. Is using admin-privileged terminal in step 4 necessary to reproduce? I assumed it's not as it would be quite strange. But perhaps it is important to run Blender with admin rights?
Author

In #99766#1399476, @iss wrote:
@zyl I was unable to reproduce this issue.

Is using admin-privileged terminal in step 4 necessary to reproduce? I assumed it's not as it would be quite strange.

When using my normal user account to run the command I get "You do not have sufficient privilege to perform this operation.". I find this strange since I can create and modify files and directories in both the source and target location without any such issue. It seems the Windows privilege model grows ever more confusing.

Have you tried to debug the return value of os.path.islink()? Does it actually return True on your machine?

Have you installed the Windows 10 Version 21H2 update? (I have not yet done this, though I would expect for this to be indifferent to the circumstance)

In #99766#1399476, @iss wrote:
But perhaps it is important to run Blender with admin rights?

I have not run Blender with admin rights in encountering this issue.

> In #99766#1399476, @iss wrote: > @zyl I was unable to reproduce this issue. > > Is using admin-privileged terminal in step 4 necessary to reproduce? I assumed it's not as it would be quite strange. When using my normal user account to run the command I get "You do not have sufficient privilege to perform this operation.". I find this strange since I can create and modify files and directories in both the source and target location without any such issue. It seems the Windows privilege model grows ever more confusing. Have you tried to debug the return value of `os.path.islink()`? Does it actually return `True` on your machine? Have you installed the Windows 10 Version 21H2 update? (I have not yet done this, though I would expect for this to be indifferent to the circumstance) > In #99766#1399476, @iss wrote: > But perhaps it is important to run Blender with admin rights? I have not run Blender with admin rights in encountering this issue.

Changed status from 'Needs User Info' to: 'Needs Triage'

Changed status from 'Needs User Info' to: 'Needs Triage'

Have you tried to debug the return value of os.path.islink()? Does it actually return True on your machine?

Did not check this. Do you suggest that files are deleted by Python itself or Blender script? If it's done by script, can you identify where file is deleted exactly?

Will have to re-check this next week, So meanwhile, will change status back.

>Have you tried to debug the return value of os.path.islink()? Does it actually return True on your machine? Did not check this. Do you suggest that files are deleted by Python itself or Blender script? If it's done by script, can you identify where file is deleted exactly? Will have to re-check this next week, So meanwhile, will change status back.

Added subscriber: @3di

Added subscriber: @3di

Just happened to me. Lost two weeks worth of commits as it overwrote an addon which was in a shared folder in the 3.3/scripts/addons/ folder. The shared folder pointed to the location of the master script, and was shared due to it being set up by jacques luckes vs code plugin.

Just happened to me. Lost two weeks worth of commits as it overwrote an addon which was in a shared folder in the 3.3/scripts/addons/ folder. The shared folder pointed to the location of the master script, and was shared due to it being set up by jacques luckes vs code plugin.

found this, seems as though it might work. Not sure how to identify a root object from the massive list of files in the objects folder and it's sub directories.

gist.github.com/jimrubenstein/9827718c508b2b7f5bad578bae421bfc

found this, seems as though it might work. Not sure how to identify a root object from the massive list of files in the objects folder and it's sub directories. gist.github.com/jimrubenstein/9827718c508b2b7f5bad578bae421bfc

sorted. init git repo in empty folder, copy in objects folder from .git folder in the Blender nuked repo. git fsck, then merge the sha1 of the dangling commit.

image.png
image.png

sorted. init git repo in empty folder, copy in objects folder from .git folder in the Blender nuked repo. git fsck, then merge the sha1 of the dangling commit. ![image.png](https://archive.blender.org/developer/F13348208/image.png) ![image.png](https://archive.blender.org/developer/F13348209/image.png)

So I have checked this on Windows 10

C:\>mklink /D C:\xxx2 C:\xxx
symbolic link created for C:\xxx2 <<===>> C:\xxx

And Blender's python says:

>>> os.path.islink("C:\\xxx2")

True

Same happens when using relative path, so not sure what the problem is on your side. I assume, you are using python, that is bundled with Blender, is that correct?

So I have checked this on Windows 10 ``` C:\>mklink /D C:\xxx2 C:\xxx symbolic link created for C:\xxx2 <<===>> C:\xxx ``` And Blender's python says: ``` >>> os.path.islink("C:\\xxx2") True ``` Same happens when using relative path, so not sure what the problem is on your side. I assume, you are using python, that is bundled with Blender, is that correct?

Why would the objects folder not be affected by this? All files in the repository are set to 0kb, but the contents of the objects folder is left intact (thankfully!). I believe this is the only folder which git commands never touch, so perhaps it's related to the git related vs code plugins?

I also had vs code in admin mode with the following addons:

image.png

I can't remember which version of python I had set as the interpreter, possibly 3.8 as I'd been working in anaconda on some other stuff.

Why would the objects folder not be affected by this? All files in the repository are set to 0kb, but the contents of the objects folder is left intact (thankfully!). I believe this is the only folder which git commands never touch, so perhaps it's related to the git related vs code plugins? I also had vs code in admin mode with the following addons: ![image.png](https://archive.blender.org/developer/F13391685/image.png) I can't remember which version of python I had set as the interpreter, possibly 3.8 as I'd been working in anaconda on some other stuff.

just wondering though, why does it ever need to remove anything if it's copying settings from one folder to another?

if isdir and (not os.path.islink(path)):

shutil.rmtree(path)

else:

os.remove(path)```

just wondering though, why does it ever need to remove anything if it's copying settings from one folder to another? ```import shutil if isdir and (not os.path.islink(path)): ``` shutil.rmtree(path) ``` else: ``` os.remove(path)```
Author

I figured it out, and my reproduction steps have missed this: there exists a legacy Windows feature known as "Junctions". The correct command to create one should use the /J instead of the /D switch, like so:

mklink /J "%APPDATA%\Blender Foundation\Blender\3.2\scripts\addons\myaddon" "path-to-directory-you-do-not-want-to-be-destroyed-but-inevitably-will-be"

When using the dir command it will then say JUNCTION instead of SYMLINKD. It seems that os.path.islink() is oblivious to this. The autocompletion in the Blender Python prompt seems to be unaware of objects of this type as well.

I have verified the symlinks created by the VsCode extension originally mentioned are in fact junctions, and not symbolic links. First Google hit: https://ourtechroom.com/tech/junction-vs-symbolic-links/

It seems heightened permissions being required to create symlinks is one of the reasons why the VsCode extension uses them in the first place, which is a bummer because symlinks were added to Windows in part specifically to improve Unix interoperability. I guess having Blender learn how to do deal with junctions would be required to be able to address the problem properly.

I figured it out, and my reproduction steps have missed this: there exists a legacy Windows feature known as "Junctions". The correct command to create one should use the `/J` instead of the `/D` switch, like so: ``` mklink /J "%APPDATA%\Blender Foundation\Blender\3.2\scripts\addons\myaddon" "path-to-directory-you-do-not-want-to-be-destroyed-but-inevitably-will-be" ``` When using the `dir` command it will then say `JUNCTION` instead of `SYMLINKD`. It seems that `os.path.islink()` is oblivious to this. The autocompletion in the Blender Python prompt seems to be unaware of objects of this type as well. I have verified the symlinks created by the VsCode extension originally mentioned are in fact junctions, and not symbolic links. First Google hit: https://ourtechroom.com/tech/junction-vs-symbolic-links/ It seems heightened permissions being required to create symlinks is one of the reasons why the VsCode extension uses them in the first place, which is a bummer because symlinks were added to Windows in part specifically to improve Unix interoperability. I guess having Blender learn how to do deal with junctions would be required to be able to address the problem properly.

I have re-checked and still wasn't able to reproduce this.

Trying to remove junction with shutil.rmtree(path), as it would be done, resulted in exception:

Python: Traceback (most recent call last):
  File "C:\Users\John\Desktop\work\bugs\untitled.blend\Text", line 6, in <module>
  File "C:\Users\John\Desktop\blender-3.4.0-alpha+master.659b63751d63-windows.amd64-release\3.4\python\lib\shutil.py", line 736, in rmtree
    onerror(os.path.islink, path, sys.exc_info())
  File "C:\Users\John\Desktop\blender-3.4.0-alpha+master.659b63751d63-windows.amd64-release\3.4\python\lib\shutil.py", line 734, in rmtree
    raise OSError("Cannot call rmtree on a symbolic link")
OSError: Cannot call rmtree on a symbolic link

os.remove(path) does remove the junction, but does not touch the content.

Perhaps different code is causing this, but it's still strange, that I can't reproduce this issue.

I have re-checked and still wasn't able to reproduce this. Trying to remove junction with `shutil.rmtree(path)`, as it would be done, resulted in exception: ``` Python: Traceback (most recent call last): File "C:\Users\John\Desktop\work\bugs\untitled.blend\Text", line 6, in <module> File "C:\Users\John\Desktop\blender-3.4.0-alpha+master.659b63751d63-windows.amd64-release\3.4\python\lib\shutil.py", line 736, in rmtree onerror(os.path.islink, path, sys.exc_info()) File "C:\Users\John\Desktop\blender-3.4.0-alpha+master.659b63751d63-windows.amd64-release\3.4\python\lib\shutil.py", line 734, in rmtree raise OSError("Cannot call rmtree on a symbolic link") OSError: Cannot call rmtree on a symbolic link ``` `os.remove(path)` does remove the junction, but does not touch the content. Perhaps different code is causing this, but it's still strange, that I can't reproduce this issue.
Author

In #99766#1404811, @iss wrote:
Perhaps different code is causing this, but it's still strange, that I can't reproduce this issue.

Were you checking the "Remove Addon"-button? The problem has already been mitigated for it. The main problem remains with the first-launch splash screen. See the first two sentences of my first comment (tread with care as I may have used the word symlink when I was actually dealing with a junction).

In #99766#1391794, @zyl wrote:
Seems that the behavior of the "Remove addon"-button has been changed at some point. Since at least 3.0.0 this causes "OSError: Cannot call rmtree on a symbolic link" and only disables the addon, which already is much less critical than it was in former versions. (Probably should be improved to just remove the symlink instead)

So that leaves only the splash screen "Load 3.0 Settings"-button to copy settings from previous installation as main culprit.

image.png

> In #99766#1404811, @iss wrote: > Perhaps different code is causing this, but it's still strange, that I can't reproduce this issue. Were you checking the "Remove Addon"-button? The problem has already been mitigated for it. The main problem remains with the first-launch splash screen. See the first two sentences of [my first comment ](https://developer.blender.org/T99766#1391794) (tread with care as I may have used the word symlink when I was actually dealing with a junction). > In #99766#1391794, @zyl wrote: > Seems that the behavior of the "Remove addon"-button has been changed at some point. Since at least 3.0.0 this causes "OSError: Cannot call rmtree on a symbolic link" and only disables the addon, which already is much less critical than it was in former versions. (Probably should be improved to just remove the symlink instead) > > So that leaves only the splash screen "Load 3.0 Settings"-button to copy settings from previous installation as main culprit. > > ![image.png](https://archive.blender.org/developer/F13297490/image.png)

Yep, it's the splashscreen that caused the issue for me too. No idea why it needs to remove anything if it's just copying from the previous blender version's folder to the new blender version's folder.

Yep, it's the splashscreen that caused the issue for me too. No idea why it needs to remove anything if it's just copying from the previous blender version's folder to the new blender version's folder.
Author

I have updated the task description to clarify that the "Remove addon" button does not exhibit the exact same behavior.

Here are new reproduction steps which correctly use the /J instead of the /D switch:

  1. Make sure %APPDATA%\Blender Foundation\Blender\3.0\config exists; if necessary, install and run Blender 3.0.0 once so it is created.
  2. Unpack Blender 3.2.1 portable or install Blender 3.2.1, but do not start it.
  3. Create all directories in path %APPDATA%\Blender Foundation\Blender\3.2\scripts\addons.
  4. In a terminal, run this command to create a junction (Not a symbolic (soft) link. Not a hard link. Not a shortcut (.lnk file).):
mklink /J "%APPDATA%\Blender Foundation\Blender\3.2\scripts\addons\myaddon" "path-to-directory-you-do-not-want-to-be-destroyed-but-inevitably-will-be"
  1. Launch previously unpacked/installed Blender 3.2.1.
  2. In first-time setup splash screen, click "Load 3.0 Settings".
I have updated the task description to clarify that the "Remove addon" button does not exhibit the exact same behavior. Here are new reproduction steps which correctly use the `/J` instead of the `/D` switch: 1. Make sure `%APPDATA%\Blender Foundation\Blender\3.0\config` exists; if necessary, install and run Blender 3.0.0 once so it is created. 2. Unpack Blender 3.2.1 portable or install Blender 3.2.1, but do not start it. 3. Create all directories in path `%APPDATA%\Blender Foundation\Blender\3.2\scripts\addons`. 4. In a terminal, run this command to create a **junction** (Not a symbolic (soft) link. Not a hard link. Not a shortcut (.lnk file).): ``` mklink /J "%APPDATA%\Blender Foundation\Blender\3.2\scripts\addons\myaddon" "path-to-directory-you-do-not-want-to-be-destroyed-but-inevitably-will-be" ``` 5. Launch previously unpacked/installed Blender 3.2.1. 6. In first-time setup splash screen, click "Load 3.0 Settings".

In #99766#1405710, @zyl wrote:

In #99766#1404811, @iss wrote:
Perhaps different code is causing this, but it's still strange, that I can't reproduce this issue.

Were you checking the "Remove Addon"-button? The problem has already been mitigated for it.

What button is this? is it somewhere in preferences?

The main problem remains with the first-launch splash screen. See the first two sentences of my first comment (tread with care as I may have used the word symlink when I was actually dealing with a junction).

In #99766#1405712, @zyl wrote:
I have updated the task description to clarify that the "Remove addon" button does not exhibit the exact same behavior.

Here are new reproduction steps which correctly use the /J instead of the /D switch:

  1. Make sure %APPDATA%\Blender Foundation\Blender\3.0\config exists; if necessary, install and run Blender 3.0.0 once so it is created.
  2. Unpack Blender 3.2.1 portable or install Blender 3.2.1, but do not start it.
  3. Create all directories in path %APPDATA%\Blender Foundation\Blender\3.2\scripts\addons.
  4. In a terminal, run this command to create a junction (Not a symbolic (soft) link. Not a hard link. Not a shortcut (.lnk file).):
mklink /J "%APPDATA%\Blender Foundation\Blender\3.2\scripts\addons\myaddon" "path-to-directory-you-do-not-want-to-be-destroyed-but-inevitably-will-be"
  1. Launch previously unpacked/installed Blender 3.2.1.
  2. In first-time setup splash screen, click "Load 3.0 Settings".

I have been following these steps - have junction, splash screen in 3.2.1 and click on Load 3.0 Settings.
Though I have skipped first step as I already have 3.0 folder initialized. Is this correct to do, or do I have to re-create it with this step as outlined?

> In #99766#1405710, @zyl wrote: >> In #99766#1404811, @iss wrote: >> Perhaps different code is causing this, but it's still strange, that I can't reproduce this issue. > > Were you checking the "Remove Addon"-button? The problem has already been mitigated for it. What button is this? is it somewhere in preferences? > The main problem remains with the first-launch splash screen. See the first two sentences of [my first comment ](https://developer.blender.org/T99766#1391794) (tread with care as I may have used the word symlink when I was actually dealing with a junction). > In #99766#1405712, @zyl wrote: > I have updated the task description to clarify that the "Remove addon" button does not exhibit the exact same behavior. > > Here are new reproduction steps which correctly use the `/J` instead of the `/D` switch: > > 1. Make sure `%APPDATA%\Blender Foundation\Blender\3.0\config` exists; if necessary, install and run Blender 3.0.0 once so it is created. > 2. Unpack Blender 3.2.1 portable or install Blender 3.2.1, but do not start it. > 3. Create all directories in path `%APPDATA%\Blender Foundation\Blender\3.2\scripts\addons`. > 4. In a terminal, run this command to create a **junction** (Not a symbolic (soft) link. Not a hard link. Not a shortcut (.lnk file).): > ``` > mklink /J "%APPDATA%\Blender Foundation\Blender\3.2\scripts\addons\myaddon" "path-to-directory-you-do-not-want-to-be-destroyed-but-inevitably-will-be" > ``` > 5. Launch previously unpacked/installed Blender 3.2.1. > 6. In first-time setup splash screen, click "Load 3.0 Settings". I have been following these steps - have junction, splash screen in 3.2.1 and click on Load 3.0 Settings. Though I have skipped first step as I already have 3.0 folder initialized. Is this correct to do, or do I have to re-create it with this step as outlined?
Author

In #99766#1405819, @iss wrote:
What button is this? is it somewhere in preferences?

It's the one which says "Remove" here:

image.png

In #99766#1405819, @iss wrote:
I have been following these steps - have junction, splash screen in 3.2.1 and click on Load 3.0 Settings.
Though I have skipped first step as I already have 3.0 folder initialized. Is this correct to do, or do I have to re-create it with this step as outlined?

It is sufficient if it exists. I figured out what is missing. With the VsCode extension the scenario was that the junction to the folder would exist in BOTH the addons folder of Blender 3.0 and Blender 3.2 prior to the 3.2 instance being launched.
I have updated the original task description with new steps to reproduce.

> In #99766#1405819, @iss wrote: > What button is this? is it somewhere in preferences? It's the one which says "Remove" here: ![image.png](https://archive.blender.org/developer/F13406278/image.png) > In #99766#1405819, @iss wrote: > I have been following these steps - have junction, splash screen in 3.2.1 and click on Load 3.0 Settings. > Though I have skipped first step as I already have 3.0 folder initialized. Is this correct to do, or do I have to re-create it with this step as outlined? It is sufficient if it exists. I figured out what is missing. With the VsCode extension the scenario was that the junction to the folder would exist in BOTH the `addons` folder of Blender 3.0 and Blender 3.2 prior to the 3.2 instance being launched. I have updated the original task description with new steps to reproduce.
Martin changed title from Symlinked addon directories have their contents nuked in certain situations to Junction addon directories have their contents nuked in certain situations 2022-08-20 16:50:13 +02:00
Richard Antalik changed title from Junction addon directories have their contents nuked in certain situations to Junction addon directories have their contents nuked when loadin preferences from previous version 2022-08-30 21:37:11 +02:00

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Richard Antalik added
Priority
High
and removed
Priority
Normal
labels 2023-04-12 06:03:20 +02:00

Raising priority to high, since there was another report where this issue caused loss of data.

Raising priority to high, since there was another report where this issue caused loss of data.
Member

There is not much logic on our end, shutil.copytree is called, which doesn't handle junctions overly well, extracted a minimal repro, and reported upstream cpython #104046

There is not much logic on our end, `shutil.copytree` is called, which doesn't handle junctions overly well, extracted a minimal repro, and reported upstream [cpython #104046](https://github.com/python/cpython/issues/104046)
Member

Given this ticket is 10 months old, the issue is caused by a third party, and appears to be a bug in shutil.copytree lowering the prio on this, as there's not much to do on the blender side of things.

Given this ticket is 10 months old, the issue is caused by a third party, and appears to be a bug in `shutil.copytree` lowering the prio on this, as there's not much to do on the blender side of things.
Ray molenkamp added
Priority
Normal
and removed
Priority
High
labels 2023-05-03 16:36:28 +02:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#99766
No description provided.