double slashes "//" will corrupt subversion repository

View: New views
3 Messages — Rating Filter:   Alert me  

double slashes "//" will corrupt subversion repository

by Lutz Dornbusch-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello
I recently coded a small java application based on svnkit which performs
some copyactions (directly on server via file://)inside a single
transaction: eg.
folder_1/file_a -> folder_100/file_a
folder_1/file_b -> folder_100/file_b
folder_2/file_c -> folder_101/file_c

I had a small bug in my program which adds an additional slash "/" to
each folder, so the above mentioned sample reads:
folder_1//file_a -> folder_100//file_a
folder_1//file_b -> folder_100//file_b
folder_2//file_c -> folder_101//file_c

However, the commit runs fine and I was also able to update a
workingcopy, so I didn't bother about this double slash. But if I try to
verify my repository or dump its contents I run into terrible problems:
The Revision I produced by my java app breaks the repository. Verify and
dump will both stop on the same revision with this message:

Assertion failed: is_canonical(component, clen), file
C:\Projects\subversion-1.4
.6\subversion\libsvn_subr\path.c, line 115

I think  this a bug of svnkit, as it really should not allow to commit
"non-canonical paths" if svn is not able to handle them. By using a
customized client (my java app, in this case) I am able to destroy a
repository so it can not be verified anymore or be backuped, but you can
still work with this repository.

Should I file an issue? can somebody confirm this behaviour?

I am using svn 1.4.6 with svnkit 1.1.4

As im not member of your mailinglist, please cc me on answers.

Thanx for your time,
Lutz Dornbusch

---------------------------------------------------------------------
To unsubscribe, e-mail: svnkit-users-unsubscribe@...
For additional commands, e-mail: svnkit-users-help@...


Re: double slashes "//" will corrupt subversion repository

by Alexander Kitaev-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello Lutz,

Thank you for reporting this issue. The problem is indeed in SVNKit - it
doesn't "canonicalize" all input paths that have to be canonicalized.
We'll fix that soon and I will let you know when the problem is resolved.

Meanwhile, please use valid paths when using ISVNEditor API. Thanks!

Alexander Kitaev,
TMate Software,
http://svnkit.com/ - Java [Sub]Versioning Library!

Lutz Dornbusch wrote:

> Hello
> I recently coded a small java application based on svnkit which performs
> some copyactions (directly on server via file://)inside a single
> transaction: eg.
> folder_1/file_a -> folder_100/file_a
> folder_1/file_b -> folder_100/file_b
> folder_2/file_c -> folder_101/file_c
>
> I had a small bug in my program which adds an additional slash "/" to
> each folder, so the above mentioned sample reads:
> folder_1//file_a -> folder_100//file_a
> folder_1//file_b -> folder_100//file_b
> folder_2//file_c -> folder_101//file_c
>
> However, the commit runs fine and I was also able to update a
> workingcopy, so I didn't bother about this double slash. But if I try to
> verify my repository or dump its contents I run into terrible problems:
> The Revision I produced by my java app breaks the repository. Verify and
> dump will both stop on the same revision with this message:
>
> Assertion failed: is_canonical(component, clen), file
> C:\Projects\subversion-1.4
> .6\subversion\libsvn_subr\path.c, line 115
>
> I think  this a bug of svnkit, as it really should not allow to commit
> "non-canonical paths" if svn is not able to handle them. By using a
> customized client (my java app, in this case) I am able to destroy a
> repository so it can not be verified anymore or be backuped, but you can
> still work with this repository.
>
> Should I file an issue? can somebody confirm this behaviour?
>
> I am using svn 1.4.6 with svnkit 1.1.4
>
> As im not member of your mailinglist, please cc me on answers.
>
> Thanx for your time,
> Lutz Dornbusch
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: svnkit-users-unsubscribe@...
> For additional commands, e-mail: svnkit-users-help@...
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: svnkit-users-unsubscribe@...
For additional commands, e-mail: svnkit-users-help@...


Re: double slashes "//" will corrupt subversion repository

by Alexander Kitaev-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello Lutz,

This issue is fixed now in 1.2.x branch of SVNKit. You may get binaries
at https://teamcity.svnkit.com/

Alexander Kitaev,
TMate Software,
http://svnkit.com/ - Java [Sub]Versioning Library!

Alexander Kitaev wrote:

> Hello Lutz,
>
> Thank you for reporting this issue. The problem is indeed in SVNKit - it
> doesn't "canonicalize" all input paths that have to be canonicalized.
> We'll fix that soon and I will let you know when the problem is resolved.
>
> Meanwhile, please use valid paths when using ISVNEditor API. Thanks!
>
> Alexander Kitaev,
> TMate Software,
> http://svnkit.com/ - Java [Sub]Versioning Library!
>
> Lutz Dornbusch wrote:
>> Hello
>> I recently coded a small java application based on svnkit which
>> performs some copyactions (directly on server via file://)inside a
>> single transaction: eg.
>> folder_1/file_a -> folder_100/file_a
>> folder_1/file_b -> folder_100/file_b
>> folder_2/file_c -> folder_101/file_c
>>
>> I had a small bug in my program which adds an additional slash "/" to
>> each folder, so the above mentioned sample reads:
>> folder_1//file_a -> folder_100//file_a
>> folder_1//file_b -> folder_100//file_b
>> folder_2//file_c -> folder_101//file_c
>>
>> However, the commit runs fine and I was also able to update a
>> workingcopy, so I didn't bother about this double slash. But if I try
>> to verify my repository or dump its contents I run into terrible
>> problems:
>> The Revision I produced by my java app breaks the repository. Verify
>> and dump will both stop on the same revision with this message:
>>
>> Assertion failed: is_canonical(component, clen), file
>> C:\Projects\subversion-1.4
>> .6\subversion\libsvn_subr\path.c, line 115
>>
>> I think  this a bug of svnkit, as it really should not allow to commit
>> "non-canonical paths" if svn is not able to handle them. By using a
>> customized client (my java app, in this case) I am able to destroy a
>> repository so it can not be verified anymore or be backuped, but you
>> can still work with this repository.
>>
>> Should I file an issue? can somebody confirm this behaviour?
>>
>> I am using svn 1.4.6 with svnkit 1.1.4
>>
>> As im not member of your mailinglist, please cc me on answers.
>>
>> Thanx for your time,
>> Lutz Dornbusch
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: svnkit-users-unsubscribe@...
>> For additional commands, e-mail: svnkit-users-help@...
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: svnkit-users-unsubscribe@...
> For additional commands, e-mail: svnkit-users-help@...
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: svnkit-users-unsubscribe@...
For additional commands, e-mail: svnkit-users-help@...

LightInTheBox - Buy quality products at wholesale price