Branko Čibej <br...@wandisco.com> writes: > > We're obviously making a lot of assumptions about which permissions are > correct. When we replace a file in the working copy, we should copy the > file's permissions, not invent new ones based on either the source > (which may be an arbitrary temporary file) or the umask. > > Of course, this is moderately easy on Unix (ignoring filesystems that > support ACLs) and quite a major pain on Windows.
Yes, I think the aim of preserving the permissions when replacing files is good. We also want to avoid changing the permissions of files in the system temporary dir, those should remain 600. Running 'svn diff' on a working copy that has a file that requires translation reveals two different bugs that cause files in the system temp dir to have their permissions changed: - svn_subst_copy_and_translate4 uses the parent directory of a temporary file as the temporary directory for a call to svn_io_open_unique_file3. That causes svn_io_open_unique_file3 to set the permissions on the file according to umask. - svn_subst_copy_and_translate4 copies the permissions from the working file to a file in the system temp dir. -- Philip Martin | Subversion Committer WANdisco // *Non-Stop Data*