Den tis 12 sep. 2023 kl 12:19 skrev Matthias Klose <m.kl...@automation.de>:

> Hi,
>
> I want to list a failing assertion.
>
> What have I done?:
> Preparing a merge on a directory with Doxygen configuration files (maybe
> not usefull, but I did it).
> choosing options: Merge a range of revisions / all revisions / Compare
> whitespaces
> then running [Test merge]
>

Can you reproduce this error using the command line client? You can install
it from the TortoiseSVN installer by choosing the Command line tools.

You should probably do some variation of svn merge possibly with the
--dry-run option.


> -> this leads into the following exception:
>
> ---------------------------
> Subversion Exception!
> ---------------------------
> Subversion encountered a serious problem.
> Please take the time to report this on the Subversion mailing list
> with as much information as possible about what
> you were trying to do.
> But please first search the mailing list archives for the error message
> to avoid reporting the same problem repeatedly.
> You can find the mailing list archives at
> https://subversion.apache.org/mailing-lists.html


Despite the advice in the error message, it is usually best to report to
the TortoiseSVN mailing list unless you are also able to reproduce it with
the command line tool. In most cases it has turned out that TortoiseSVN is
calling the Subversion library with faulty and/or inconsistent options.See
https://groups.google.com/g/tortoisesvn


>
> Subversion reported the following
> (you can copy the content of this dialog
> to the clipboard using Ctrl-C):
>
> In file
>
>  
> 'D:\Development\SVN\Releases\TortoiseSVN-1.14.5\ext\subversion\subversion\libsvn_client\merge.c'
>  line 4994: assertion failed (*gap_start < *gap_end)
>

The assert you have hit has the following comment:
      /* ### Issue #4132:
         ### This assertion triggers [...]
         ### when a node is replaced by an older copy of itself. */

Does this make sense to you when you look at your repository?

I tried to create a naive repository and I don't trigger this assertion so
obviously the repository has to have some certain properties.


> ---------------------------
> OK
> ---------------------------
>
> Remark:
>
> if I run [Merge] instead of [Test Merge]
> then NO exception appears
> and Merge ends in my case with the following message:
> "Error: '...foo_1' must
> Error:  be ancestrally related to
> Error:  '...foo_2'  "
>

Are you trying to merge changes from one path that is not related (ie,
copied) to the other?

I was able to create a repository where I got the same error message from
the [Merge] button, while I got a completely different error message from
the [Test Merge] button. This lead me to believe that [Merge] and [Test
Merge] is calling the Subversion libraries with different arguments.
However I don't have time to investigate this further at the moment.


>
> Hope this helps to fix the failing assertion.
>

If you can give some more details about your repository including previous
merges (even better if you can write a reproduction receipt) that would be
great. And consider reporting this on the TortoiseSVN mailing list if you
think that it is a TortoiseSVN-only problem.

Kind regards,
Daniel Sahlberg

Reply via email to