Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 Jul 2013 12:12:22 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-current@freebsd.org
Cc:        Gleb Smirnoff <glebius@freebsd.org>
Subject:   Re: Ipfilter pre-Vendor Import Issue
Message-ID:  <201307091212.22444.jhb@freebsd.org>
In-Reply-To: <20130705084649.GC67810@FreeBSD.org>
References:  <201307042210.r64MAEJb002949@slippy.cwsent.com> <20130705084649.GC67810@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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> '.@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@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307091212.22444.jhb>