Skip to content

findSequenceOnDisk does not find files on Samba shares with mismatched case (POSIX case-insensitivity) #988

@herronelou

Description

@herronelou

What happened?

On a Linux system accessing files stored on a Samba (case-insensitive) share, the findSequenceOnDisk method fails to find files if the on-disk filenames have different case than what is provided in the search pattern. This is inconsistent with the behavior of os.path.exists() and the practical case-insensitivity of such setups.

While the documentation and code assume POSIX means case-sensitive, many modern POSIX filesystems or networked filesystems (like Samba) are not strictly case-sensitive.

This may not strictly be a "bug" (since the documented behavior is POSIX/regex style), but it is easy for users to be surprised if they work cross-platform, especially when the behavior differs from the actual underlying file visibility.

List all the operating systems versions where this is happening

Linux (tested over a Samba share). Likely affects any POSIX system accessing a case-insensitive (e.g., SMB or FAT32) filesystem.

On what computer hardware is this happening?

Standard workstation; not hardware-dependent.

Relevant console log output

raises:
fileseq.exceptions.FileSeqException: no sequence found on disk matching /path/to/seq.####.exr

Environment variables

N/A, no unusual environment variables.

Extra information

In a future versin, if the project considers raising minimum Python requirement to 3.12, it could consider using glob's new case-sensitivity options to match what the filesystem supports. I don't think this requires a fix but I wanted to flag it, as we bumped into it in production.

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions