You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by "Mark P." <sv...@peralex.com> on 2019/07/30 11:57:39 UTC

svn x-shelve gives E200014: Checksum mismatch

Good day,

I'm trying to use svn x-shelve on Windows, both via TortoiseSVN and via
the command line client, and I'm getting the above error.  I'm using
subversion version 1.12.2 everywhere.  I'm accessing the repositories
using svn://

After seeing this error on an existing repository, I:
- created a fresh repository with nothing in it,
- checked out the new repository to a working copy,
- added a single file (main.cpp) with a few random lines of text in it,
- committed the add,
- altered the file,
and then ran (from the command line):

svn x-shelve shelf1

I get the following output:

Updating '.svn\experimental\shelves\v3\7368656c6631-001.wc':
At revision 1.
Sending        main.cpp
Transmitting file data .svn: E200014: Checksum mismatch for
'C:\Shared\Test\Test3\.svn\experimental\shelves\v3\7368656c6631-001.wc\main.cpp':
   expected:  b77dd03a6c3f68f496d874153363694e
     actual:  7f081249d3e4e1383afb2798d46a58f5

TortoiseSVN gives a similar, but less descriptive, error.

This happens reliably, with any file I choose to add, when the
repository and the working copy are on a FreeBSD machine and a Windows
machine respectively.  Other repositories seem to do the same thing.

When I try the same thing, with the same repository, but with the
working copy on the FreeBSD machine (still accessed via svn://), it
works as expected.

When I try the same thing with a similar repository on the Windows
machine (accessed via file://), and the working copy on the same Windows
machine, it also works correctly.

All other functionality seems to work fine (checkouts, commits, diffs,
logs, etc.) with repositories on the same machines.  I've tried doing
svn cleanup on the working copies, but I still have the same problem.

Has anybody seen the same problem?  Is this something I'm doing wrong,
or is it a bug?

Thanks
Mark

Disclaimer: http://www2.peralex.com/disclaimer.html



Re: [SVN-4827] svn x-shelve gives E200014: Checksum mismatch when using eol-style=native

Posted by "Mark P." <sv...@peralex.com>.
On 2019-09-03 12:30, Julian Foad wrote:
> Johan Corveleyn wrote:
>> Mark P. wrote:
>>> svn x-shelve shelf1
>>> [...] Transmitting file data .svn: E200014: Checksum mismatch [...]
>>
>> Is the file main.cpp "translated" into Windows end-of-line style [...]
> 
> Thanks for the report. I see you filed it as
> 
>   https://issues.apache.org/jira/browse/SVN-4827
> 
> It is indeed caused by not handling keywords and/or EOL translation. On
> Linux I can reproduce using keywords instead, so I added a regression
> test for that.
> 
> I'm not sure when I'll be able to work on a fix.

Thanks for your assistance.

Disclaimer: http://www2.peralex.com/disclaimer.html



[SVN-4827] svn x-shelve gives E200014: Checksum mismatch when using eol-style=native

Posted by Julian Foad <ju...@apache.org>.
Johan Corveleyn wrote:
> Mark P. wrote:
>> svn x-shelve shelf1
>> [...] Transmitting file data .svn: E200014: Checksum mismatch [...]
> 
> Is the file main.cpp "translated" into Windows end-of-line style [...]

Thanks for the report. I see you filed it as

   https://issues.apache.org/jira/browse/SVN-4827

It is indeed caused by not handling keywords and/or EOL translation. On 
Linux I can reproduce using keywords instead, so I added a regression 
test for that.

I'm not sure when I'll be able to work on a fix.

- Julian

Re: svn x-shelve gives E200014: Checksum mismatch

Posted by "Mark P." <sv...@peralex.com>.
On 2019-08-30 10:18, Johan Corveleyn wrote:
> On Fri, Aug 30, 2019 at 9:12 AM Mark P. <sv...@peralex.com> wrote:
>>
>> On 2019-08-30 06:11, Johan Corveleyn wrote:
>>> On Wed, Jul 31, 2019 at 7:20 AM Mark P. <sv...@peralex.com> wrote:
>>>>
>>>>
>>>>
>>>> svn x-shelve shelf1
>>>>
>>>> I get the following output:
>>>>
>>>> Updating '.svn\experimental\shelves\v3\7368656c6631-001.wc':
>>>> At revision 1.
>>>> Sending        main.cpp
>>>> Transmitting file data .svn: E200014: Checksum mismatch for
>>>> 'C:\Shared\Test\Test3\.svn\experimental\shelves\v3\7368656c6631-001.wc\main.cpp':
>>>>    expected:  b77dd03a6c3f68f496d874153363694e
>>>>      actual:  7f081249d3e4e1383afb2798d46a58f5
>>>>
>>>
>>> Hi Mark,
>>>
>>> Sorry for the late response.
>>> This looks to me like a bug with the experimental shelving feature in 1.12.
>>>
>>> Is the file main.cpp "translated" into Windows end-of-line style in
>>> the Windows working copy (vs. Unix eol-style on the FreeBSD machine),
>>> i.e. does it carry the svn property "svn:eol-styl=native"? Perhaps
>>> there is a bug when shelving, in that one side is eol-translated (and
>>> checksummed) and the other is not.
>>>
>>
>> Hi Johan,
>>
>> Thanks for the reply.  Yes, you're correct, svn:eol-style was set to
>> 'native', and I think this is where the bug lies.
>>
>> I removed the property, ran:
>>
>> svn x-shelve shelf2
>>
>> and it seems to work as expected now, although ideally shelve should be
>> able to work with eol-style=native.
>>
>> Mark
> 
> [ Re-adding the users@s.a.o list back to cc. Please use reply all to
> keep the list in the loop. ]

Sorry about that.

> 
> Okay, thanks for checking this, and thanks for reporting this in the
> first place.
> So indeed this seems like a bug in x-shelve when working with
> eol-style=native (and shelving it in a Windows working copy).
> 
> Could you please file an issue for that in our issue tracker?
> https://issues.apache.org/jira/browse/SVN

Thanks for your attention.  I've created the issue here:
https://issues.apache.org/jira/browse/SVN-4827

> 
> If you would like to dig in further (going through the source code,
> reading our community guide, possibly writing a patch etc. -- see
> [1]), you're very welcome to do so. (no problem if you don't, your
> report of the issue is already very useful)
> 
> Thanks,
> 


Disclaimer: http://www2.peralex.com/disclaimer.html



Re: svn x-shelve gives E200014: Checksum mismatch

Posted by Johan Corveleyn <jc...@gmail.com>.
On Fri, Aug 30, 2019 at 9:12 AM Mark P. <sv...@peralex.com> wrote:
>
> On 2019-08-30 06:11, Johan Corveleyn wrote:
> > On Wed, Jul 31, 2019 at 7:20 AM Mark P. <sv...@peralex.com> wrote:
> >>
> >>
> >>
> >> svn x-shelve shelf1
> >>
> >> I get the following output:
> >>
> >> Updating '.svn\experimental\shelves\v3\7368656c6631-001.wc':
> >> At revision 1.
> >> Sending        main.cpp
> >> Transmitting file data .svn: E200014: Checksum mismatch for
> >> 'C:\Shared\Test\Test3\.svn\experimental\shelves\v3\7368656c6631-001.wc\main.cpp':
> >>    expected:  b77dd03a6c3f68f496d874153363694e
> >>      actual:  7f081249d3e4e1383afb2798d46a58f5
> >>
> >
> > Hi Mark,
> >
> > Sorry for the late response.
> > This looks to me like a bug with the experimental shelving feature in 1.12.
> >
> > Is the file main.cpp "translated" into Windows end-of-line style in
> > the Windows working copy (vs. Unix eol-style on the FreeBSD machine),
> > i.e. does it carry the svn property "svn:eol-styl=native"? Perhaps
> > there is a bug when shelving, in that one side is eol-translated (and
> > checksummed) and the other is not.
> >
>
> Hi Johan,
>
> Thanks for the reply.  Yes, you're correct, svn:eol-style was set to
> 'native', and I think this is where the bug lies.
>
> I removed the property, ran:
>
> svn x-shelve shelf2
>
> and it seems to work as expected now, although ideally shelve should be
> able to work with eol-style=native.
>
> Mark

[ Re-adding the users@s.a.o list back to cc. Please use reply all to
keep the list in the loop. ]

Okay, thanks for checking this, and thanks for reporting this in the
first place.
So indeed this seems like a bug in x-shelve when working with
eol-style=native (and shelving it in a Windows working copy).

Could you please file an issue for that in our issue tracker?
https://issues.apache.org/jira/browse/SVN

If you would like to dig in further (going through the source code,
reading our community guide, possibly writing a patch etc. -- see
[1]), you're very welcome to do so. (no problem if you don't, your
report of the issue is already very useful)

Thanks,
-- 
Johan

[1] http://subversion.apache.org/contributing.html

Re: svn x-shelve gives E200014: Checksum mismatch

Posted by Johan Corveleyn <jc...@gmail.com>.
On Wed, Jul 31, 2019 at 7:20 AM Mark P. <sv...@peralex.com> wrote:
>
> Good day,
>
> I'm trying to use svn x-shelve on Windows, both via TortoiseSVN and via
> the command line client, and I'm getting the above error.  I'm using
> subversion version 1.12.2 everywhere.  I'm accessing the repositories
> using svn://
>
> After seeing this error on an existing repository, I:
> - created a fresh repository with nothing in it,
> - checked out the new repository to a working copy,
> - added a single file (main.cpp) with a few random lines of text in it,
> - committed the add,
> - altered the file,
> and then ran (from the command line):
>
> svn x-shelve shelf1
>
> I get the following output:
>
> Updating '.svn\experimental\shelves\v3\7368656c6631-001.wc':
> At revision 1.
> Sending        main.cpp
> Transmitting file data .svn: E200014: Checksum mismatch for
> 'C:\Shared\Test\Test3\.svn\experimental\shelves\v3\7368656c6631-001.wc\main.cpp':
>    expected:  b77dd03a6c3f68f496d874153363694e
>      actual:  7f081249d3e4e1383afb2798d46a58f5
>
> TortoiseSVN gives a similar, but less descriptive, error.
>
> This happens reliably, with any file I choose to add, when the
> repository and the working copy are on a FreeBSD machine and a Windows
> machine respectively.  Other repositories seem to do the same thing.
>
> When I try the same thing, with the same repository, but with the
> working copy on the FreeBSD machine (still accessed via svn://), it
> works as expected.
>
> When I try the same thing with a similar repository on the Windows
> machine (accessed via file://), and the working copy on the same Windows
> machine, it also works correctly.
>
> All other functionality seems to work fine (checkouts, commits, diffs,
> logs, etc.) with repositories on the same machines.  I've tried doing
> svn cleanup on the working copies, but I still have the same problem.
>
> Has anybody seen the same problem?  Is this something I'm doing wrong,
> or is it a bug?
>
> Thanks
> Mark

Hi Mark,

Sorry for the late response.
This looks to me like a bug with the experimental shelving feature in 1.12.

Is the file main.cpp "translated" into Windows end-of-line style in
the Windows working copy (vs. Unix eol-style on the FreeBSD machine),
i.e. does it carry the svn property "svn:eol-styl=native"? Perhaps
there is a bug when shelving, in that one side is eol-translated (and
checksummed) and the other is not.

-- 
Johan