You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Philip Martin <ph...@codematters.co.uk> on 2006/01/06 22:39:25 UTC
Re: [PATCH] Fix issue #2305 - 'svn info' on symlink working copy
root fails
Alexander Thomas <al...@collab.net> writes:
> --- subversion/libsvn_wc/lock.c (revision 17993)
> +++ subversion/libsvn_wc/lock.c (working copy)
> @@ -681,7 +681,23 @@
> int wc_format;
>
> SVN_ERR (probe (&dir, path, &wc_format, pool));
> + if (wc_format == 0)
> + {
> + svn_wc_adm_access_t *wc_adm;
>
> + err = svn_wc_adm_open3 (&wc_adm, associated, path, FALSE,
> + 0, cancel_func, cancel_baton, pool);
> + if (!err)
> + {
> + svn_boolean_t wc_root;
> +
> + SVN_ERR (svn_wc_is_wc_root (&wc_root, path, wc_adm, pool));
> + if (wc_root)
> + dir = path;
> + }
> + svn_error_clear (err);
> + }
I don't like that -- calling svn_wc_adm_open3 in order ro work out how
to call svn_wc_adm_open3 just seems wrong. Can't you make probe()
handle the symlink?
--
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
RE: [PATCH] Fix issue #2305 - 'svn info' on symlink working copy root fails
Posted by Alexander Thomas <al...@collab.net>.
On Fri, 2006-01-06 at 22:39 +0000, Philip Martin wrote:
> Alexander Thomas <al...@collab.net> writes:
>
> > --- subversion/libsvn_wc/lock.c (revision 17993)
> > +++ subversion/libsvn_wc/lock.c (working copy)
> > @@ -681,7 +681,23 @@
> > int wc_format;
> >
> > SVN_ERR (probe (&dir, path, &wc_format, pool));
> >
[...]
>
> > + err = svn_wc_adm_open3 (&wc_adm, associated, path, FALSE,
> > + 0, cancel_func, cancel_baton, pool);
[...]
> I don't like that -- calling svn_wc_adm_open3 in order ro work out how
> to call svn_wc_adm_open3 just seems wrong. Can't you make probe()
> handle the symlink?
In version 1 of this patch, I tried replacing svn_io_check_path() with
svn_io_check_resolved_path() to handle symlinks in probe(). But it
caused test special_tests.py (1) to fail.
http://svn.haxx.se/dev/archive-2005-10/0559.shtml
IMHO info on root wc symlink should be considered as a special case.
-AT