Ipfilter pre-Vendor Import Issue
Cy Schubert
Cy.Schubert at komquats.com
Thu Jul 4 22:10:16 UTC 2013
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 at 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
'. at 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 at komquats.com>
FreeBSD UNIX: <cy at FreeBSD.org> Web: http://www.FreeBSD.org
The need of the many outweighs the greed of the few.
More information about the freebsd-current
mailing list