> -----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

Reply via email to