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

Re: segfault when reverse merging in trunk

From: Paul Burba <ptburba_at_gmail.com>
Date: Fri, 15 Mar 2013 14:29:44 -0400

On Fri, Mar 15, 2013 at 2:03 PM, Stefan Küng <tortoisesvn_at_gmail.com> wrote:
> On 15.03.2013 18:59, Paul Burba wrote:
>>
>> On Fri, Mar 15, 2013 at 1:52 PM, Stefan Küng <tortoisesvn_at_gmail.com>
>> wrote:
>>>
>>> On 15.03.2013 18:46, Paul Burba wrote:
>>>>
>>>>
>>>> On Fri, Mar 15, 2013 at 1:23 PM, Stefan Küng <tortoisesvn_at_gmail.com>
>>>> wrote:
>>>>>
>>>>>
>>>>> Hi,
>>>>>
>>>>> using a build from todays trunk:
>>>>>
>>>>> $ svn co
>>>>> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts
>>>>> wc
>>>>> $ cd wc
>>>>> $ svn merge -r23995:23994
>>>>>
>>>>>
>>>>> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-doc.js
>>>>> diff-doc.js
>>>>>
>>>>> this segfaults in libsvn_client/merge.c, line 7407 because
>>>>> 'merge_target'
>>>>> is
>>>>> NULL.
>>>>
>>>>
>>>>
>>>> Hi Stefan,
>>>>
>>>> I cannot replicate this with ^/subversion/trunk_at_1457030. Exactly what
>>>> revision are you building?
>>>>
>>>> C:\SVN>svn --version
>>>> svn, version 1.8.0-dev (under development)
>>>> compiled Mar 14 2013, 16:57:07 on
>>>> x86/x86_64-microsoft-windows6.1.7601
>>>>
>>>> Copyright (C) 2013 The Apache Software Foundation.
>>>> This software consists of contributions made by many people;
>>>> see the NOTICE file for more information.
>>>> Subversion is open source software, see http://subversion.apache.org/
>>>>
>>>> The following repository access (RA) modules are available:
>>>>
>>>> * ra_svn : Module for accessing a repository using the svn network
>>>> protocol.
>>>> - handles 'svn' scheme
>>>> * ra_local : Module for accessing a repository on local disk.
>>>> - handles 'file' scheme
>>>> * ra_serf : Module for accessing a repository via WebDAV protocol using
>>>> serf.
>>>> - handles 'http' scheme
>>>> - handles 'https' scheme
>>>>
>>>>
>>>> C:\SVN>svn co
>>>> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts
>>>> wc
>>>> A wc\diff-sxw.vbs
>>>> A wc\diff-ppt.js
>>>> A wc\diff-odt.vbs
>>>> A wc\diff-doc.js
>>>> A wc\diff-xls.js
>>>> A wc\diff-dll.vbs
>>>> A wc\merge-ods.vbs
>>>> A wc\Readme.txt
>>>> A wc\merge-doc.js
>>>> A wc\diff-nb.vbs
>>>> U wc
>>>> Checked out revision 23999.
>>>>
>>>> C:\SVN>cd wc
>>>>
>>>> C:\SVN\wc>svn merge -r23995:23994
>>>>
>>>>
>>>> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-doc.js
>>>> diff-doc.js
>>>> --- Reverse-merging r23995 into 'diff-doc.js':
>>>> C diff-doc.js
>>>> --- Recording mergeinfo for reverse merge of r23995 into 'diff-doc.js':
>>>> G diff-doc.js
>>>> --- Eliding mergeinfo from 'diff-doc.js':
>>>> U diff-doc.js
>>>> Summary of conflicts:
>>>> Text conflicts: 1
>>>> Conflict discovered in file 'diff-doc.js'.
>>>> Select: (p) postpone, (df) diff-full, (e) edit, (m) merge,
>>>> (mc) mine-conflict, (tc) theirs-conflict, (s) show all
>>>> options: p
>>>
>>>
>>>
>>> Ups, sorry about that. There were some commits to that folder in the mean
>>> time, so it doesn't crash anymore with this merge command.
>>>
>>> Try this instead:
>>> $ svn merge -r24000:23999
>>>
>>> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-xls.js
>>> diff-xls.js
>>>
>>> seems you have to reverse-merge the latest revision.
>>
>>
>> Hmmm, I still can't replicate:
>
> [snip]
>
>> C:\SVN\diff-scripts-1.8-dev>svn merge -r24000:23999
>>
>> http://tortoisesvn.googlecode.com/svn/trunk/contrib/diff-scripts/diff-xls.js
>> diff-xls.js
>
>
> Argh! I forgot the --ignore-ancestry flag: you have to pass
> --ignore-ancestry when merging, then it will crash.

That's it! I can replicate. Fixed in r1457046.

-- 
Paul T. Burba
CollabNet, Inc. -- www.collab.net -- Enterprise Cloud Development
Skype: ptburba
Received on 2013-03-15 19:30:16 CET

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