On Tue, Jan 4, 2011 at 6:35 PM, NN Ott <nonot...@gmail.com> wrote:
> Hello,
>
> I have a source library that I need to periodically import (and then patch)
> for use by my code base.
>
> The SVN Book seems to reccomend a "vendor branch" scheme where you keep a
> patched branch of the "vendor drops". This would work, except that I loose
> any history of the library development.  (The vendor also uses SVN and gives
> read-only access to their repo.)

You drop the vendor branch download on top of a copy of the old
branch, using something like this:


    svn copy svn://repo/tags//vendor-1.0 svn://repo/branches/vendor-2.0-merge
    scn co svn://repo/branches/vendor/2.0-merge 2.0-merge

    tar xzvf vendor-2.0.tar.gz
    rsync -avH --exclude=.svn --delete vendor.2.0/ 2.0-merge/
    cd 2.0
    svn status
    [ Add necessary files, delete missing files, set whatever svn
properties you need, etc. etc.

    svn commit
    svn copy. svn://repo/tags/vendor-2.0

Delete svn://repo/branches/vendor-2.0-merge if you feel so inclined.

This will combine the forced upgrade into a single commit. Don't do
*ANY* other work in those branches and tags.

You can then try to merge that tag with your trunk or other branches,
although SVN merges are not their strongest feature.

Reply via email to