BREAKING CHANGE
- nc_webdav_write_file no longer silently overwrites an
existing file. Omitting if_match now creates a file and fails if it already
exists; to overwrite, pass the etag from nc_webdav_read_file, or if_match="*"
to force it.
Fix
- webdav: make writes fail-closed to guarantee zero data loss
- webdav: detect concurrent edits and locks on write, guard oversized writes
Refactor
- webdav: extract write precondition/conflict helpers (Sonar S3776)