> -----Original Message----- > From: Fergus Slorach [mailto:sug...@gmail.com] > Sent: zaterdag 26 mei 2012 23:57 > To: dev@subversion.apache.org > Subject: File permissions are incorrect after directory copy in 1.7 > > In Subversion 1.7.5: > > If a directory containing svn:needs-lock files is copied and > committed, the needs-lock files are left writeable. > > The writeable state can be resolved by running 'svn revert' on > the files, even though the status indicates there is nothing to > revert. > > Recipe and run-through results below.
Did you check if this is a regression. If it is not, I'm not sure if we should call it a bug. The copied files are no longer unmodified and have a new (future) URL that is not locked and can't be locked. I assume that they get the read only flag after a commit makes them 'unmodified'? Bert > > Thanks, > > fergus > > > Recipe: > > cd /tmp > svnadmin create repos > svn co file:///tmp/repos/ copy_test > cd copy_test > svn mkdir foo > touch foo/bar.txt > svn add foo/bar.txt > svn propset svn:needs-lock 1 foo/bar.txt > svn commit -m 'Added' > svn copy foo goo > svn commit -m 'Copied' > ls -l goo # goo/bar.txt is writeable > svn st -u -v goo # goo/bar.txt has no status > svn revert goo/bar.txt # goo/bar.txt is reverted > ls -l goo # goo/bar.txt is now read-only > > Run of the recipe: > > /tmp $ cd /tmp > /tmp $ svnadmin create repos > /tmp $ svn co file:///tmp/repos/ copy_test > Checked out revision 0. > /tmp $ cd copy_test > /tmp/copy_test $ svn mkdir foo > A foo > /tmp/copy_test $ touch foo/bar.txt > /tmp/copy_test $ svn add foo/bar.txt > A foo/bar.txt > /tmp/copy_test $ svn propset svn:needs-lock 1 foo/bar.txt > property 'svn:needs-lock' set on 'foo/bar.txt' > /tmp/copy_test $ svn commit -m 'Added' > Adding foo > Adding foo/bar.txt > Transmitting file data . > Committed revision 1. > /tmp/copy_test $ svn copy foo goo > A goo > /tmp/copy_test $ svn commit -m 'Copied' > Adding goo > > Committed revision 2. > /tmp/copy_test $ ls -l goo > total 0 > -rw-rw-r-- 1 fergus fergus 0 May 27 09:45 bar.txt > /tmp/copy_test $ svn revert goo/bar.txt > Reverted 'goo/bar.txt' > /tmp/copy_test $ ls -l goo > total 0 > -r--r--r-- 1 fergus fergus 0 May 27 09:45 bar.txt > /tmp/copy_test $ svn revert goo/bar.txt