On 30 September 2013 12:12, Bert Huijben <b...@qqmail.nl> wrote: > Given the ‘create/close/move/open/write/close/move’ the average Windows > installation would introduce a few more steps on both open and close for > virusscanner intervention. > > There are thousands of regressions since moving to a central working copy > database, but most of them weren’t designed as features in the first place. > Som users just mounted parts of the working copy and used that as a working > copy root… > > ‘Fixing this’ without a proper design by locking a file 3 or 4 times more > might just make the average checkout or update 2 or 3 times slower… I would > call that a far more serious regression than the ACL management one that we > never promised to work in any particular way. > > Theoretically we can fix it atomic, without locking and creating file in target directory. Using some security descriptor magic: 1. Create temporary file .svn/tmp 2. Obtatain SECURITY_DESCRIPTOR of target directory 3. Convert all non-inherited permissions to inherited 4. Set this SECURITY_DESCRIPTOR for temporary file.
Optionally we can specify SECURITY_DESCRIPTOR when file is being created, but we need direct CreateFile() for this instead of APR. -- Ivan Zhakov CTO | VisualSVN | http://www.visualsvn.com