Files
test/tools
Campbell Barton 87c4f47312 Fix #139585: Blender could erase OS root
Temporary directory handling had a logical error, assuming the
"session" temporary directory was owned and created by Blender
and could be recursively removed on exit.

However, it's possible creating the session sub-directory fails,
in that case the temporary directory was used for the "session".
This meant setting `C:\` as the temporary directory in the preferences
would attempt to recursively remove `C:\` on exit.

Resolve with the following changes:

- Only perform a recursive removal on the temporary directory
  if a session sub-directory was created.

- If the creating the user-preferences temporary "session" sub-directory
  fails fall back to the systems temporary directory and try to
  create the "session" directory there.

  Previously this was only done if the preference path didn't exist.
  The preferences path was still used if it existed but couldn't be
  written to.

Include a test to ensure this is working as expected.

Ref !144042
2025-08-06 23:13:58 +00:00
..

Blender Dev Tools
#################

This repository is intended for miscellaneous tools, utilities, configurations and
anything that helps with Blender development, but aren't directly related to building Blender.

Some of the tools included may be used stand-alone, others expect Blenders source code to be available.


Usage
=====

While this is a stand-alone repository,
some of the scripts which access Blenders source code assume this repository will be located at
``tools`` within Blenders source code repository. At some point this may be included as a submodule.

Some tools also rely on the ``blender`` binary, this is assumed to be located at: ``../../blender.bin``.
*The root directory of Blender's git repository*


Categories
==========

Check Source
------------

Any tools for scanning source files to report issues with code, style, conventions, deprecated features etc.


Config
------

Configuration for 3rd party applications (IDE's, code-analysis, debugging tools... etc).


Git
---

Scripts and utilities for working with git.


Utils
-----

Programs (scripts) to help with development
(currently for converting formats, creating mouse cursor, updating themes).