[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Add '--include' and '--exclude' options to 'svnadmin dump'

From: Sergey Raevskiy <Sergey.Raevskiy_at_visualsvn.com>
Date: Tue, 12 Feb 2019 17:43:41 +0300

Hello!

After some investigation I realized that PATH passed by repos
layer to AUTHZ_FUNC is not guaranted to be canonical. In fact, when
path is under copied directory (as in #4760) it does not contain
leading slash. This causes ary_prefix_match() function to ignore
those paths, since it requires canonical path.

I've attached patch with fix.

Log message:
[[[
Follow-up to r1811992: Canonicalize PATH before passing it to the FILTER_FUNC.

In some cases (e.g. for nodes under copied directories) PATH passed by
repos layer to AUTHZ_FUNC may be non-canonical (missing leading '/'). This
causes FILTER_FUNC implemented in svnadmin to wrongly report PATH as "not
included".

This fixes #4760.

* subversion/libsvn_repos/dump.c
  (dump_filter_authz_func): Canonicalize PATH before passing it
   to the FILTER_FUNC. Add comment.

* subversion/tests/cmdline/svnadmin_tests.py
  (dump_include_copied_directory): New.
  (test_list): Add new test to table.

Patch by: sergey.raevskiy{_AT_}visualsvn.com
]]]

On Fri, Feb 8, 2019 at 6:27 PM Julian Foad <julianfoad_at_apache.org> wrote:
>
> Sergey Raevskiy wrote:
> > > Ping! Sergey or anyone, are you able to investigate this?
> >
> > Hello!
> >
> > Sorry for the late reply. I'm plannig to investigate this in short time.
>
> That's good to hear! Thank you.
>
> If you need any help, please ask here or in the #svn-dev IRC channel. I'm sure we'll be happy to help as much as we can.
>
> --
> - Julian
>
>
> > > Julian Foad wrote on 2018-11-30:
> > > > https://issues.apache.org/jira/browse/SVN-4729
> [...]
> > > > A user has reported a problem with this feature.
> > > > https://issues.apache.org/jira/browse/SVN-4760
> > > >
> > > > It looks like when the source of a copied directory is excluded, it is
> > > > only adding the directory itself and not adding the directory's
> > > > contents. That sounds to me like a bug -- it is not the behaviour I
> > > > would expect.
> > > >
> > > > I see that the regression tests only test with an empty source directory.
> > > > subversion/tests/cmdline/svnadmin_tests.py : dump_exclude_copysource() etc.

Received on 2019-02-12 15:54:21 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.