Bug in "svnrdump" ?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Bug in "svnrdump" ?

Doug Robinson
Folks:

Should "svnrdump" be able to dump everything that "svnadmin dump" is capable of?

If so then it has a reproducible bug:
----------------------------------------------
1. Add following files into an empty repo. 

   A /A

   A /A/AA

   A /A/AA/a.txt

   A /A/AA/b.txt

2. Svn copy folder A to folder B, and then delete /B/AA/a.txt

   A /B (from /A:1)

   D /B/AA/a.txt

3. Copy folder B/AA to folder B/Trunk/AA

   A /B/Trunk

   A /B/Trunk/AA (from /B/AA:2)

4. run svnrdump command to dump B/Trunk folder. 

# svnrdump dump file:///tmp/test/B/Trunk > Trunk.dump

* Dumped revision 0.

* Dumped revision 1.

svnrdump: E160013: File not found: revision 2, path '/B/AA/a.txt'
----------------------------------------------

Is this known already?  Should I file a bug?

Thank you.

Doug
--
DOUGLAS B. ROBINSON SENIOR PRODUCT MANAGER




Learn how WANdisco Fusion solves Hadoop data protection and scalability challenges

Listed on the London Stock Exchange: WAND

THIS MESSAGE AND ANY ATTACHMENTS ARE CONFIDENTIAL, PROPRIETARY, AND MAY BE PRIVILEGED.  If this message was misdirected, WANdisco, Inc. and its subsidiaries, ("WANdisco") does not waive any confidentiality or privilege.  If you are not the intended recipient, please notify us immediately and destroy the message without disclosing its contents to anyone.  Any distribution, use or copying of this e-mail or the information it contains by other than an intended recipient is unauthorized.  The views and opinions expressed in this e-mail message are the author's own and may not reflect the views and opinions of WANdisco, unless the author is authorized by WANdisco to express such views or opinions on its behalf.  All email sent to or from this address is subject to electronic storage and review by WANdisco.  Although WANdisco operates anti-virus programs, it does not accept responsibility for any damage whatsoever caused by viruses being passed.

Reply | Threaded
Open this post in threaded view
|

Re: Bug in "svnrdump" ?

Julian Foad-5
Doug Robinson wrote:
> Should "svnrdump" be able to dump everything that "svnadmin dump" is
> capable of?

I'm pretty sure it should, and this isn't a known bug AFAIK (I just
searched for "svnrdump copy" in Jira).

Thanks for reporting it here.

Can you paste the actual reproduction commands used please. (It isn't
clear from your description where the commits are, for example. If one
commit per numbered step, then presumably as it fails on dumping r2 then
what are steps 3 and 4 for?)

What svn version this is?

- Julian


>
> If so then it has a reproducible bug:
> ----------------------------------------------
> 1. Add following files into an empty repo.
>
>    A /A
>
>    A /A/AA
>
>    A /A/AA/a.txt
>
>    A /A/AA/b.txt
>
> 2. Svn copy folder A to folder B, and then delete /B/AA/a.txt
>
>    A /B (from /A:1)
>
>    D /B/AA/a.txt
>
> 3. Copy folder B/AA to folder B/Trunk/AA
>
>    A /B/Trunk
>
>    A /B/Trunk/AA (from /B/AA:2)
>
> 4. run svnrdump command to dump B/Trunk folder.
>
> # svnrdump dump file:///tmp/test/B/Trunk > Trunk.dump
>
> * Dumped revision 0.
>
> * Dumped revision 1.
>
> svnrdump: E160013: File not found: revision 2, path '/B/AA/a.txt'
> ----------------------------------------------
>
> Is this known already?  Should I file a bug?
>
> Thank you.
Reply | Threaded
Open this post in threaded view
|

Re: Bug in "svnrdump" ?

Doug Robinson
Julian:

This has been reproduced on 1.9.5 and 1.8.16.  I've attached a dump of the simple test case repo.

Thank you.

Doug

On Wed, Feb 22, 2017 at 8:50 AM, Julian Foad <[hidden email]> wrote:
Doug Robinson wrote:
Should "svnrdump" be able to dump everything that "svnadmin dump" is
capable of?

I'm pretty sure it should, and this isn't a known bug AFAIK (I just searched for "svnrdump copy" in Jira).

Thanks for reporting it here.

Can you paste the actual reproduction commands used please. (It isn't clear from your description where the commits are, for example. If one commit per numbered step, then presumably as it fails on dumping r2 then what are steps 3 and 4 for?)

What svn version this is?

- Julian



If so then it has a reproducible bug:
----------------------------------------------
1. Add following files into an empty repo.

   A /A

   A /A/AA

   A /A/AA/a.txt

   A /A/AA/b.txt

2. Svn copy folder A to folder B, and then delete /B/AA/a.txt

   A /B (from /A:1)

   D /B/AA/a.txt

3. Copy folder B/AA to folder B/Trunk/AA

   A /B/Trunk

   A /B/Trunk/AA (from /B/AA:2)

4. run svnrdump command to dump B/Trunk folder.

# svnrdump dump file:///tmp/test/B/Trunk > Trunk.dump

* Dumped revision 0.

* Dumped revision 1.

svnrdump: E160013: File not found: revision 2, path '/B/AA/a.txt'
----------------------------------------------

Is this known already?  Should I file a bug?

Thank you.



--
DOUGLAS B. ROBINSON SENIOR PRODUCT MANAGER




Learn how WANdisco Fusion solves Hadoop data protection and scalability challenges

Listed on the London Stock Exchange: WAND

THIS MESSAGE AND ANY ATTACHMENTS ARE CONFIDENTIAL, PROPRIETARY, AND MAY BE PRIVILEGED.  If this message was misdirected, WANdisco, Inc. and its subsidiaries, ("WANdisco") does not waive any confidentiality or privilege.  If you are not the intended recipient, please notify us immediately and destroy the message without disclosing its contents to anyone.  Any distribution, use or copying of this e-mail or the information it contains by other than an intended recipient is unauthorized.  The views and opinions expressed in this e-mail message are the author's own and may not reflect the views and opinions of WANdisco, unless the author is authorized by WANdisco to express such views or opinions on its behalf.  All email sent to or from this address is subject to electronic storage and review by WANdisco.  Although WANdisco operates anti-virus programs, it does not accept responsibility for any damage whatsoever caused by viruses being passed.


test.dump (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Bug in "svnrdump" ?

Julian Foad-5
Doug Robinson wrote:
> This has been reproduced on 1.9.5 and 1.8.16.  I've attached a dump of
> the simple test case repo.

Thanks. I was hasty -- I see what's going on. This is dumping a subtree
of the repo (/B/Trunk), and r2 was not dumped because it doesn't touch
the subtree, and it fails on r3 corresponding to step 3. This feature
(dump a subtree) is not possible with 'svnadmin dump'.

So the bug is that svnrdump doesn't know how to handle a copy source
that's outside the subtree being dumped.

That's rather poor. I believe the desired behaviour would be to replace
the 'copy' with a full 'add', and I believe that behaviour is
implemented somewhere else -- is it in svndumpfilter and/or svnsync?

If you could file a bug report that would be very helpful, thanks.

- Julian


>         If so then it has a reproducible bug:
>         ----------------------------------------------
>         1. Add following files into an empty repo.
>
>            A /A
>
>            A /A/AA
>
>            A /A/AA/a.txt
>
>            A /A/AA/b.txt
>
>         2. Svn copy folder A to folder B, and then delete /B/AA/a.txt
>
>            A /B (from /A:1)
>
>            D /B/AA/a.txt
>
>         3. Copy folder B/AA to folder B/Trunk/AA
>
>            A /B/Trunk
>
>            A /B/Trunk/AA (from /B/AA:2)
>
>         4. run svnrdump command to dump B/Trunk folder.
>
>         # svnrdump dump file:///tmp/test/B/Trunk > Trunk.dump
>
>         * Dumped revision 0.
>
>         * Dumped revision 1.
>
>         svnrdump: E160013: File not found: revision 2, path '/B/AA/a.txt'
>         ----------------------------------------------
>
>         Is this known already?  Should I file a bug?
Reply | Threaded
Open this post in threaded view
|

Re: Bug in "svnrdump" ?

Doug Robinson

On Wed, Feb 22, 2017 at 9:11 AM, Julian Foad <[hidden email]> wrote:
Doug Robinson wrote:
This has been reproduced on 1.9.5 and 1.8.16.  I've attached a dump of
the simple test case repo.

Thanks. I was hasty -- I see what's going on. This is dumping a subtree of the repo (/B/Trunk), and r2 was not dumped because it doesn't touch the subtree, and it fails on r3 corresponding to step 3. This feature (dump a subtree) is not possible with 'svnadmin dump'.

So the bug is that svnrdump doesn't know how to handle a copy source that's outside the subtree being dumped.

That's rather poor. I believe the desired behaviour would be to replace the 'copy' with a full 'add', and I believe that behaviour is implemented somewhere else -- is it in svndumpfilter and/or svnsync?

If you could file a bug report that would be very helpful, thanks.


- Julian


        If so then it has a reproducible bug:
        ----------------------------------------------
        1. Add following files into an empty repo.

           A /A

           A /A/AA

           A /A/AA/a.txt

           A /A/AA/b.txt

        2. Svn copy folder A to folder B, and then delete /B/AA/a.txt

           A /B (from /A:1)

           D /B/AA/a.txt

        3. Copy folder B/AA to folder B/Trunk/AA

           A /B/Trunk

           A /B/Trunk/AA (from /B/AA:2)

        4. run svnrdump command to dump B/Trunk folder.

        # svnrdump dump file:///tmp/test/B/Trunk > Trunk.dump

        * Dumped revision 0.

        * Dumped revision 1.

        svnrdump: E160013: File not found: revision 2, path '/B/AA/a.txt'
        ----------------------------------------------

        Is this known already?  Should I file a bug?



--
DOUGLAS B. ROBINSON SENIOR PRODUCT MANAGER




Learn how WANdisco Fusion solves Hadoop data protection and scalability challenges

Listed on the London Stock Exchange: WAND

THIS MESSAGE AND ANY ATTACHMENTS ARE CONFIDENTIAL, PROPRIETARY, AND MAY BE PRIVILEGED.  If this message was misdirected, WANdisco, Inc. and its subsidiaries, ("WANdisco") does not waive any confidentiality or privilege.  If you are not the intended recipient, please notify us immediately and destroy the message without disclosing its contents to anyone.  Any distribution, use or copying of this e-mail or the information it contains by other than an intended recipient is unauthorized.  The views and opinions expressed in this e-mail message are the author's own and may not reflect the views and opinions of WANdisco, unless the author is authorized by WANdisco to express such views or opinions on its behalf.  All email sent to or from this address is subject to electronic storage and review by WANdisco.  Although WANdisco operates anti-virus programs, it does not accept responsibility for any damage whatsoever caused by viruses being passed.

Reply | Threaded
Open this post in threaded view
|

RE: Bug in "svnrdump" ?

Bert Huijben-5
In reply to this post by Julian Foad-5

That code is in the backing code for svn_ra_replay(), where it also applies to authz, not on the client.

 

[hidden email] Can we use svnsync in this scenario, or does that break in a similar way?

 

     Bert

 

Sent from Mail for Windows 10

 

From: [hidden email]
Sent: woensdag 22 februari 2017 15:11
To: [hidden email]
Cc: [hidden email]
Subject: Re: Bug in "svnrdump" ?

 

Doug Robinson wrote:

> This has been reproduced on 1.9.5 and 1.8.16.  I've attached a dump of

> the simple test case repo.

 

Thanks. I was hasty -- I see what's going on. This is dumping a subtree

of the repo (/B/Trunk), and r2 was not dumped because it doesn't touch

the subtree, and it fails on r3 corresponding to step 3. This feature

(dump a subtree) is not possible with 'svnadmin dump'.

 

So the bug is that svnrdump doesn't know how to handle a copy source

that's outside the subtree being dumped.

 

That's rather poor. I believe the desired behaviour would be to replace

the 'copy' with a full 'add', and I believe that behaviour is

implemented somewhere else -- is it in svndumpfilter and/or svnsync?

 

If you could file a bug report that would be very helpful, thanks.

 

- Julian

 

 

>         If so then it has a reproducible bug:

>         ----------------------------------------------

>         1. Add following files into an empty repo.

> 

>            A /A

> 

>            A /A/AA

> 

>            A /A/AA/a.txt

> 

>            A /A/AA/b.txt

> 

>         2. Svn copy folder A to folder B, and then delete /B/AA/a.txt

> 

>            A /B (from /A:1)

> 

>            D /B/AA/a.txt

> 

>         3. Copy folder B/AA to folder B/Trunk/AA

> 

>            A /B/Trunk

> 

>            A /B/Trunk/AA (from /B/AA:2)

> 

>         4. run svnrdump command to dump B/Trunk folder.

> 

>         # svnrdump dump file:///tmp/test/B/Trunk > Trunk.dump

> 

>         * Dumped revision 0.

> 

>         * Dumped revision 1.

> 

>         svnrdump: E160013: File not found: revision 2, path '/B/AA/a.txt'

>         ----------------------------------------------

> 

>         Is this known already?  Should I file a bug?

 

Reply | Threaded
Open this post in threaded view
|

Re: Bug in "svnrdump" ?

Julian Foad-5
In reply to this post by Doug Robinson
Doug Robinson wrote:
> https://issues.apache.org/jira/browse/SVN-4672

Thanks, Doug, that's great. Let me know if you need me to drive it
further; I'm assuming not.

Bert wrote:
> That code is in the backing code for svn_ra_replay(), where it also applies to authz, not on the client.

That makes sense. I believe both svnrdump and svnsync use this. I
assumed both of them would support converting copies to adds...

> @Julian Foad Can we use svnsync in this scenario, or does that break in a similar way?

... but I haven't tested it.

- Julian

Reply | Threaded
Open this post in threaded view
|

Re: Bug in "svnrdump" ?

Doug Robinson
Julian:

No need to drive it further at this time.

Thank you.

Doug

On Thu, Feb 23, 2017 at 9:15 AM, Julian Foad <[hidden email]> wrote:
Doug Robinson wrote:
https://issues.apache.org/jira/browse/SVN-4672

Thanks, Doug, that's great. Let me know if you need me to drive it further; I'm assuming not.

Bert wrote:
That code is in the backing code for svn_ra_replay(), where it also applies to authz, not on the client.

That makes sense. I believe both svnrdump and svnsync use this. I assumed both of them would support converting copies to adds...

@Julian Foad Can we use svnsync in this scenario, or does that break in a similar way?

... but I haven't tested it.

- Julian




--
DOUGLAS B. ROBINSON SENIOR PRODUCT MANAGER




Learn how WANdisco Fusion solves Hadoop data protection and scalability challenges

Listed on the London Stock Exchange: WAND

THIS MESSAGE AND ANY ATTACHMENTS ARE CONFIDENTIAL, PROPRIETARY, AND MAY BE PRIVILEGED.  If this message was misdirected, WANdisco, Inc. and its subsidiaries, ("WANdisco") does not waive any confidentiality or privilege.  If you are not the intended recipient, please notify us immediately and destroy the message without disclosing its contents to anyone.  Any distribution, use or copying of this e-mail or the information it contains by other than an intended recipient is unauthorized.  The views and opinions expressed in this e-mail message are the author's own and may not reflect the views and opinions of WANdisco, unless the author is authorized by WANdisco to express such views or opinions on its behalf.  All email sent to or from this address is subject to electronic storage and review by WANdisco.  Although WANdisco operates anti-virus programs, it does not accept responsibility for any damage whatsoever caused by viruses being passed.