[svk-users] vendor branch management
Jesse Vincent
jesse at bestpractical.com
Mon Feb 11 07:53:05 EST 2008
On Feb 9, 2008, at 3:35 PM, Faisal N Jawdat wrote:
> so say i have a project that relies on various vendor libs and i have
> it laid out like this
>
> / <- project top level dir
> foo/ <- my code
> bar/ <- my code
> vendor <- dir for other people's code
> baz/ <- other people's code
> foo2/ <- other people's code
>
> and baz and foo2 are accessible via svn checkouts.
>
> normally i could use svn externals to get to those, but i want a
> little more control over which svn version to get, whether to
> automatically take updates, etc.
>
> i've been using piston (http://piston.rubyforge.org/), but they
> suggest that one can use svk for this. piston basically manages
> exporting a specific version to your local branch, and then lets you
> update it. the version you export is committed locally, so if you
> update to a new version and find problems you can just stay with the
> current version.
>
> how would one replicate this sort of behavior in svk?
So, What I'd probably do is this:
svk mkdir //mirror
svk mirror http://otherproj1.com/svn/baz //mirror/baz
svk mirror http://otherproj2.com/svn/foo2 //mirror/foo2
svk sync -a
svk mkdir //local
svk mkdir //local/myproject
svk mkdir //local/myproject/vendor
svk cp //mirror/baz //local/myproject/vendor/baz
svk cp //mirror/foo2 //local/myproject/vendor/foo2
When you want to update foo2 from the upstream branch:
svk sync //mirror/foo2
svk smerge //mirror/foo2 //local/myproject/vendor/foo2
Best,
Jesse
More information about the svk-users
mailing list