"Bert Huijben" <b...@qqmail.nl> writes:

> +1 on not allowing to change the symlinkness of existing files.
> And +1 on still allowing it on *new* files.
>
> In the update editor we could change the behavior of incoming symlink
> changes to be handled as a delete + add, introducing a tree conflict
> (and a local replacement of the incoming node to keep the original
> state) if there are local changes.

To my surprise we have a related problem with file-directory changes:

$ rm wc/file
$ mkdir wc/file
$ svn st wc
~   wc/file
$ svn up wc            # attempts to modify text of wc/file
U    wc/file
../src/subversion/svn/update-cmd.c:168: (apr_err=21)
../src/subversion/libsvn_client/update.c:639: (apr_err=21)
../src/subversion/libsvn_client/update.c:579: (apr_err=21)
../src/subversion/libsvn_client/update.c:440: (apr_err=21)
../src/subversion/libsvn_wc/adm_crawler.c:858: (apr_err=21)
../src/subversion/libsvn_repos/reporter.c:1541: (apr_err=21)
../src/subversion/libsvn_repos/reporter.c:1456: (apr_err=21)
../src/subversion/libsvn_wc/update_editor.c:2748: (apr_err=21)
../src/subversion/libsvn_wc/workqueue.c:1491: (apr_err=21)
../src/subversion/libsvn_wc/workqueue.c:1409: (apr_err=21)
../src/subversion/libsvn_wc/workqueue.c:628: (apr_err=21)
../src/subversion/libsvn_subr/io.c:3559: (apr_err=21)
svn: E000021: Can't move '/home/pm/sw/subversion/obj/wc/.svn/tmp/svn-KLx0k0' to 
'/home/pm/sw/subversion/obj/wc/file': Is a directory

I thought we addressed things like this in 1.7 but I see we didn't
finish it.  The obstruction prevents us updating the working file but it
is entirely possible for the base tree to be updated.  We probably don't
need either a tree- or text- conflict here.  If we simpy skip updating
the file the obstruction will continue to be marked ~ in status.

-- 
Certified & Supported Apache Subversion Downloads:
http://www.wandisco.com/subversion/download

Reply via email to