Re: Ipfilter pre-Vendor Import Issue

From: John Baldwin <jhb_at_freebsd.org>
Date: Tue, 9 Jul 2013 12:12:22 -0400
On Friday, July 05, 2013 4:46:49 am Gleb Smirnoff wrote:
>   Cy,
> 
> On Thu, Jul 04, 2013 at 03:10:14PM -0700, Cy Schubert wrote:
> C> Unfortunately it doesn't work any more. Here is what svn spit out at me.
> C> 
> C> slippy$ cd $MY_WORK_DIR/current/contrib/ipfilter
> C> slippy$ svn merge --record-only 
file:///tank/wrepos/wsvn/base/vendor/ipfilte
> C> r/dist_at_252548
> C> svn: E205000: Try 'svn help merge' for more information
> C> svn: E205000: Source and target must be different but related branches
> C> svn: E205000: Source and target have no common ancestor: 
> C> 'file:///tank/wrepos/wsvn/base/vendor/ipfilter/dist_at_252548' and 
> C> '._at_unspecified'
> C> slippy$ 
> 
> AFAIU, the problem is that current contrib/ipfilter was never merged
> from vendor/ipfilter. So, actually we are dealing with a first import
> (from subversion viewpoint), not n-th.
> 
> What I'd prefer to see is the following:
> 
> - commit new ipfilter untouched to vendor-sys/ipfilter
> - nuke sys/contrib/ipfilter
> - svn copy vendor-sys/ipfilter to sys/netpfil/ipfilter
> 
> In future imports do:
> 
> - commit newer ipfilter to vendor-sys/ipfilter
> - svn merge vendor-sys/ipfilter to sys/netpfil/ipfilter
> 
> What's the reason to keep code in contrib?

Because we put all other vendor code in contrib/ by convention.  When there
is vendor code in other places it usually results in confusion.  For bits
that have userland and kernel bits we use head/contrib and head/sys/contrib
pulling from vendor/foo and vendor-sys/foo, respectively.

Also, this is not the first import as we used a CVS vendor branch for
IP filter previously that svn2cvs preserved.

Cy, for your svn merge you said you would do this:

cd $MY_WORK_DIR/current/contrib/ipfilter
svn merge --record-only \
        svn+ssh://svn.FreeBSD.org/base/vendor/ipfilter/dist_at_NNNNNNN
cd $MY_WORK_DIR/current/sys/contrib/ipfilter
svn merge --record-only \
        svn+ssh://svn.FreeBSD.org/base/vendor-sys/ipfilter/dist_at_NNNNNNN

but instead you did this:

slippy$ cd $MY_WORK_DIR/current/contrib/ipfilter
slippy$ svn merge --record-only file:///tank/wrepos/wsvn/base/vendor/ipfilte
r/dist_at_252548

Notice you are using 'file:///tank/', not the official SVN repository.  All
your checkouts and merges should be done using svn.FreeBSD.org, not a local
mirror.  That might explain your merge problem.

Also, if you are just updating the existing vendor branch and not updating it 
to a newer version I'm not sure you really need the _at_NNNNNN part for the 
bootstrap merge, but it probably doesn't hurt.

-- 
John Baldwin
Received on Tue Jul 09 2013 - 14:12:42 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:39 UTC