svn commit: r362681 - in head: contrib/bc contrib/bc/gen contrib/bc/include contrib/bc/locales contrib/bc/manuals contrib/bc/src contrib/bc/src/bc contrib/bc/src/dc contrib/bc/src/history contrib/b...

Dimitry Andric dim at FreeBSD.org
Tue Jun 30 21:29:48 UTC 2020


On 30 Jun 2020, at 22:01, Stefan Eßer <se at FreeBSD.org> wrote:
> 
> Am 29.06.20 um 20:09 schrieb Ed Maste:
>> On Mon, 29 Jun 2020 at 11:27, John Baldwin <jhb at freebsd.org> wrote:
>>> 
>>> I suspect just doing the 'merge --record-only' is the simplest method
>>> assuming Git handles it ok.  I suspect since Git ignores mergeinfo this
>>> is fine, but it would be good for Ed to confirm.  You can always restore
>>> the tests in the future in contrib/bc when you want to add them.
>> 
>> I think a --record-only merge is the best approach; in any case we
>> have a number of these in the tree already and Git will have to deal
>> with them.
> 
> $ cd /usr/svn/base/head/contrib/bc
> 
> $ svn merge --record-only ^/vendor/bc/dist
> svn: E195016: 'svn+ssh://repo.freebsd.org/base/vendor/bc/dist@362810'
> must be ancestrally related to
> 'svn+ssh://repo.freebsd.org/base/head/contrib/bc@362810'

This is because you are supposed to commit stuff to ^/base/vendor/xxx
first, then svn cp it to ^/head/contrib/xxx, at least from Subversion
1.8 onwards. The 'cp' action establishes the ancestral relation.

Some of our older contrib areas were imported using cvs2svn, and these
also suffer the same problem, i.e. Subversion complains that the vendor
and contrib areas are not ancestrally related.



> Adding the option --ignore-ancestry to the merge command does not help.
...
> Any idea how to merge from the vendor area in this situation?

As far as I know, you have these alternatives:

* Delete the contrib/bc tree, and do a fresh svn cp from the vendor
  area. You will have to apply any customizations on top again. I did
  something like this to fixup contrib/libc++ in
  https://svnweb.freebsd.org/base?view=revision&revision=287679
* Figure out the right value of the svn:mergeinfo property, and apply
  that by hand, using svn propset. This will be tricky, and has to be
  re-done manually every time you want to merge again.
* Merge with Subversion 1.7 or earlier.
* Ignore all this, merge patches by hand and wait for the Git
  transition to be completed.

-Dimitry

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 223 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.freebsd.org/pipermail/svn-src-all/attachments/20200630/0d906ddf/attachment.sig>


More information about the svn-src-all mailing list