You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Alexander Thomas <al...@collab.net> on 2006/01/06 13:10:37 UTC

[PATCH] Fix issue #2305 - 'svn info' on symlink working copy root fails

Hi all,

I send same patch last November, but didn't get any ones attention.
After that subversion directory structure too change. So I am force to
resend it.

Thanks
-AT




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




Re: [PATCH] Fix issue #2305 - 'svn info' on symlink working copy root fails

Posted by Philip Martin <ph...@codematters.co.uk>.
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