You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Johan Corveleyn <jc...@gmail.com> on 2019/08/30 04:11:36 UTC

Re: svn x-shelve gives E200014: Checksum mismatch

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

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