r863092 | dlr | 2007-01-15 18:47:37 +0000 (Mon, 15 Jan 2007) Allow a work-around for file permission changes (via a call to reown_file()) when we don't have permissions to change permissions. This fixes a regression introduced in r17501 for builds where EPERM is undefined, leading to APR_STATUS_IS_EPERM getting defined as 0 (false). Incidentally, neither APR does not define APR_STATUS_IS_EPERM() in apr_errno.h. We'll want to either get APR_STATUS_IS_EPERM() into APR and move our definition of it into private/svn_compat.h, move to usage of vanilla EPERM, or change our macro's name to stop polluting APR's namespace. (We'll keep this commit brief to facilitate ease of backport, as suggested by Max Bowsher.) * subversion/libsvn_subr/io.c Include errno.h. Patch by: Eric Miller <Eric.Miller@amd.com> (Tweaked by me.)
r868452 | dlr | 2007-12-10 21:42:01 +0000 (Mon, 10 Dec 2007) Add test for issue #3039, "'update -N' on a path to be deleted corrupts working copy". * subversion/tests/cmdline/depth_tests.py (depthy_update_above_dir_to_be_deleted): Add new test case. (test_list): Add new test case to list, currently XFAIL. Found by: Eric Miller
r868463 | dlr | 2007-12-11 04:13:52 +0000 (Tue, 11 Dec 2007) Fix issue #3039, "'update -N' on a path to be deleted corrupts working copy". * subversion/libsvn_wc/log.c (log_do_delete_entry): When deleting an (existing) directory, call svn_wc__adm_extend_lock_to_tree() to assure that the entire WC tree for full_path is locked. * subversion/libsvn_wc/lock.h (svn_wc__adm_extend_lock_to_tree): New function that ensures ADM_ACCESS has a lock and for an entire WC tree (all the way to its leaf nodes). * subversion/libsvn_wc/lock.c Include svn_types.h (extend_lock_found_entry): New callback function that extends the scope of the svn_adm_access_t * passed in as WALK_BATON for its entire WC tree. An implementation of svn_wc_entry_callbacks2_t's found_entry() API. (extend_lock_walker): WC entry walker callbacks for svn_wc__adm_extend_lock_to_tree(). (svn_wc__adm_extend_lock_to_tree): Implement new function declared in lock.h. * subversion/tests/cmdline/depth_tests.py (test_list): Remove XFAIL marker from depthy_update_above_dir_to_be_deleted(). Found by: Eric Miller Reviewed by: glasser