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