"Bert Huijben" <b...@qqmail.nl> writes: >> Windows code is tricky. When svn_io_remove_file2() gets EACCES it calls > > For something to return access denied on Windows it must exist.
Yes, the file exists when we try to remove it. >> svn_io_set_file_read_write() passing ignore_enoent. That function has >> different handling of ignore_enoent as it only checks ENOENT while >> svn_io_remove_file2() and checks both ENOENT and ENOTDIR. But it, and the parent directory, may have been removed by the time we call svn_io_set_file_read_write(). So can the apr_file_attrs_set() return ENOTDIR, and should it be ignored? >> svn_io_set_file_read_write() also doesn't have a WIN32_RETRY_LOOP. Are >> those differences intentional? > > File attributes are typically not involved with locking of the files. OK, so svn_io_set_file_read_write() doesn't need a retry loop, but does it ignore the right values when ignore_enoent is set? -- Philip Martin | Subversion Committer WANdisco // *Non-Stop Data*