Ipfilter pre-Vendor Import Issue

John Baldwin jhb at freebsd.org
Tue Jul 9 16:12:42 UTC 2013


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@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@NNNNNNN
cd $MY_WORK_DIR/current/sys/contrib/ipfilter
svn merge --record-only \
        svn+ssh://svn.FreeBSD.org/base/vendor-sys/ipfilter/dist@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 @NNNNNN part for the 
bootstrap merge, but it probably doesn't hurt.

-- 
John Baldwin


More information about the freebsd-current mailing list