Tricky subversion import, what to do?

Ulrich Spörlein uqs at spoerlein.net
Sun Nov 7 13:53:31 UTC 2010


Hello,

this is about importing unifdef 2.4, which has no significant code
changes, but that's not the point. The wiki is of no help for this
particular case.

We have no exclusive vendor branch for unifdef, instead it has been
converted to svn under vendor/CSRG/dist/usr.bin/unifdef/ and some parts of
its history (eg. r1591) are copied from there:

   A /head/usr.bin/unifdef/Makefile (from /vendor/CSRG/dist/usr.bin/unifdef/Makefile:1590)
   A /head/usr.bin/unifdef/unifdef.1 (from /vendor/CSRG/dist/usr.bin/unifdef/unifdef.1:1590)
   A /head/usr.bin/unifdef/unifdef.c (from /vendor/CSRG/dist/usr.bin/unifdef/unifdef.c:1590)

So, my first instinct would be to

$ svn mv $FSVN/vendor/CSRG/dist/usr.bin/unifdef $FSVN/vendor/unifdef/dist
(put all files (or just the necessary subset?) of unifdef-2.4 in vendor/unifdef/dist)
$ svn ci
$ svn cp $FSVN/vendor/unifdef/dist $FSVN/vendor/unifdef/2.4
$ svn cp $FSVN/vendor/unifdef/dist/unifdef.{c,1} $FSVN/head/contrib/unifdef/
$ svn rm head/usr.bin/unifdef/unifdef.{c,1}
(but this part loses the actual history on head, as it was never
committed to the vendor branch)
(update usr.bin/unidef/Makefile to point to contrib/unifdef)
$ svn ci

But then again, the first steps could also be:
$ svn cp head/usr.bin/unifdef vendor/unifdef/dist; svn ci
$ svn cp vendor/unifdef/dist vendor/unifdef/2.3; svn ci

This seems more reasonable to me, but I'm not sure what the policy is on
"old stuff" under vendor/


More information about the freebsd-current mailing list