Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 04 Jul 2013 15:10:14 -0700
From:      Cy Schubert <Cy.Schubert@komquats.com>
To:        current@freebsd.org
Subject:   Ipfilter pre-Vendor Import Issue
Message-ID:  <201307042210.r64MAEJb002949@slippy.cwsent.com>

next in thread | raw e-mail | index | archive | help
Hi,

Originally this email was a here is how I'm planning on doing it kind of 
email but now that svn 1.8 broke the third step I need some help.

I've been getting the flattening of the ipfilter vendor branch right and 
working on the importation of ipfilter 5.1.2 into my own test SVN repo. 
(Now that we have Darren Reed's permission to use the previous license, I 
will import 5.1.2).

I've prepared the tree by flattening the layout as discussed in 5.3.1 of 
the developers handbook. It worked until I upgraded my SVN port from 1.7.2 
to 1.8. Here are the steps I took and the results of the last failing step. 
I will also discuss what I believe should be the solution. Given I'm not an 
SVN expert I need some advice and help.

To flatten the ipfilter vendor branch I did the following. This worked 
before using svn 1.7.2 and continues to work using 1.8.

cd $MY_WORK_DIR/vendor/ipfilter
for I in */contrib/ipfilter; do
	( cd $I &&
	svn mv $(svn list) ../..
	cd ../..
	svn rm contrib
	svn propdel -R svn:mergeinfo )
done
cd $MY_WORK_DIR/vendor-sys/ipfilter
for I in */sys/contrib/ipfilter; do
	( cd $I &&
	svn mv $(svn list) ../../..
	cd ../../..
	svn rm sys
	svn propdel -R svn:mergeinfo )
done
cd $MY_WORK_DIR
svn ci vendor/ipfilter vendor-sys/ipfilter

The second step is to turn off keyword expansion as recommended by the 
developers guide. This worked before under 1.7.2 and continues to work 
under svn 1.8.

cd $MY_WORK_DIR/vendor/ipfilter
svn propdel svn:keywords -R .
cd $MY_WORK_DIR/vendor-sys/ipfilter
svn propdel svn:keywords -R .
cd $MY_WORK_DIR
svn ci vendor/ipfilter vendor-sys/ipfilter

It's the last step of the flattening process discussed in the developers 
guide that worked under svn 1.7.2 but does not work under svn 1.8.

What I planned on doing was 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
	
(Don't worry about the NNNNNNN, I will fill that in with the appropriate 
rev.)

Unfortunately it doesn't work any more. Here is what svn spit out at me.

slippy$ cd $MY_WORK_DIR/current/contrib/ipfilter
slippy$ svn merge --record-only file:///tank/wrepos/wsvn/base/vendor/ipfilte
r/dist@252548
svn: E205000: Try 'svn help merge' for more information
svn: E205000: Source and target must be different but related branches
svn: E205000: Source and target have no common ancestor: 
'file:///tank/wrepos/wsvn/base/vendor/ipfilter/dist@252548' and 
'.@unspecified'
slippy$ 

My solution is,

for I in `find . -type f`; do svn merge --record-only -r 1:HEAD 
file:///tank/wrepos/wsvn/base/vendor/ipfilter/dist/$I@252548; done

(r252548 is the revision where I turned off keyword expansion for the 
flattened ipfilter vendor trees.) I'm not a subversion expert so my 
question is, am I going down the right path here? Or, is there a better 
way to address the error above?

Once I address this I will be able to import the new ipfilter into the 
vendor and vendor-sys branches (which I managed to get to under svn 1.7.2).

To answer the obvious question, I've done svn upgrade and when that didn't 
help I subsequently used a fresh checkout from my local test SVN repo, so 
this is not an issue.

Any and all help would be appreciated. Thanks for your help.


-- 
Cheers,
Cy Schubert <Cy.Schubert@komquats.com>
FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  http://www.FreeBSD.org

	The need of the many outweighs the greed of the few.





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