Skip to content

Keep Windows volume identity in memo cache paths - #4476

Open
Darlokt wants to merge 1 commit into
ome:developfrom
Darlokt:split/memoizer-windows-volume-cache
Open

Keep Windows volume identity in memo cache paths#4476
Darlokt wants to merge 1 commit into
ome:developfrom
Darlokt:split/memoizer-windows-volume-cache

Conversation

@Darlokt

@Darlokt Darlokt commented Aug 8, 2026

Copy link
Copy Markdown

As a continuation of #4464.
Fixes #3034.

This prevents configured Memoizer cache paths from colliding when source files
have otherwise identical paths on different Windows drives or UNC shares.

The change:

  • maps drive-based paths below volume-specific components such as <cache>/C and <cache>/D;
  • maps UNC paths below <cache>/UNC/<server>/<share>;
  • keeps every generated memo path below the configured cache root; and
  • leaves the existing Unix cache layout unchanged.

This intentionally changes the configured cache layout for Windows sources.
Existing memos at the old ambiguous paths will be missed and regenerated.
The new layout prevents state for one volume from being loaded for a different dataset on another volume.

Configured cache directories stripped the root from absolute identifiers. On Windows this also stripped the drive letter, so files such as C:\somedir\foo.nd2 and D:\somedir\foo.nd2 mapped to the same memo and could restore state for the wrong dataset.

Prefix drive-based cache paths with the normalized drive letter and UNC paths with their server/share hierarchy, while preserving the existing Unix layout. Add platform-independent drive and UNC mapping tests. Fixes ome#3034.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Memoizer should use drive letter to determine folder on Windows

1 participant